Fix invalid call to value method with nil pointer Now checking if a reflected value is invalid and, if so, making sure to initialize the reflected value with the type's expected zero-value before attempting to call the interface method. This prevents panics due to invocation through reflection, such as: "value method query.EncodedArgs.EncodeValues called using nil *EncodedArgs pointer" Fixes #9
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.