Clone this repo:



  1. 44c6ddd add go.mod file to identify as a module by Will Norris · 5 months ago master v1.0.0
  2. 53e6ce1 fix pointer to time.Time by micanzhang · 2 years, 1 month ago
  3. 9235644 New array handling options (semicolon, numbered) by Chris Marchesi · 2 years, 11 months ago
  4. 6bb77fe Now checking if a field is not anonymous before by Trevor Suarez · 3 years ago
  5. 4ef3313 Updating tests for the expected behavior by Trevor Suarez · 3 years ago


go-querystring is Go library for encoding structs into URL query parameters.

Build Status: Build Status


import ""

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.