Better support for array and struct serialization This patch allows better encoding of nested structs and arrays to follow [conventions followed by frameworks like Rails][1] when parsing query strings such as ```ids[]=1&ids[]=2&ids[]=3``` for arrays and ```user[name]=acme&user[addr][postcode]=1234&user[addr][city]=SFO``` for hashes. Changes: * Encode nested attributes: ```Parameter.Nested.Value = "str"``` would be encoded as ```parameter[nested][value]=str``` * New ```brackets``` tag option for arrays so that in stead of encoding an array as ```a=one&a=two``` it's encoded as ```a[]=one&a[]=two``` which are read [1]: http://guides.rubyonrails.org/action_controller_overview.html#hash-and-array-parameters
go-querystring is Go library for encoding structs into URL query parameters.
Documentation: http://godoc.org/github.com/google/go-querystring/query
Build Status: 
import "github.com/google/go-querystring/query"
go-querystring is designed to assist in scenarios where you want to construct a URL using a struct that represents the URL query parameters. You might do this to enforce the type safety of your parameters, for example, as is done in the go-github library.
The query package exports a single Values() function. A simple example:
type Options struct { Query string `url:"q"` ShowAll bool `url:"all"` Page int `url:"page"` } opt := Options{ "foo", true, 2 } v, _ := query.Values(opt) fmt.Print(v.Encode()) // will output: "q=foo&all=true&page=2"
This library is distributed under the BSD-style license found in the LICENSE file.