refactor tests to make them more readable this splits TestValues_types into multiple test functions focused on different types of values. Also, instead of testing multiples types at a time by having a single large struct with lots of different fields, this switches to testing lots of small structs with a single field. This does result in longer code in some cases (specifically slices and arrays, which tend to span multiple lines), but it makes the individual cases much easier to read, since the input and expected output are directly next to each other. More cleanup to come; this just focused on the TestValues_types func.
go-querystring is Go library for encoding structs into URL query parameters.
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.