Clone this repo:
  1. 934da17 better handling of empty values in slices/arrays by Will Norris · 6 months ago emptyslice master
  2. b6e79f1 docs: clarify behavior of nested structs by Will Norris · 6 months ago
  3. 9392084 Bump styfle/cancel-workflow-action from 0.9.0 to 0.9.1 (#56) by dependabot[bot] · 9 months ago
  4. ca42dd8 Bump codecov/codecov-action from 2.0.1 to 2.1.0 (#59) by dependabot[bot] · 9 months ago
  5. f76b16e Bump codecov/codecov-action from 1 to 2.0.1 (#51) by dependabot[bot] · 10 months ago


Go Reference Test Status Test Coverage

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


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"

See the package godocs for complete documentation on supported types and formatting options.


If you are looking for a library that can both encode and decode query strings, you might consider one of these alternatives: