https://github.com/google/go-querystring
go-querystring is Go library for encoding structs into URL query strings.
https://github.com/google/go-querystring
query-string querystring
Last synced: 7 months ago
JSON representation
go-querystring is Go library for encoding structs into URL query strings.
- Host: GitHub
- URL: https://github.com/google/go-querystring
- Owner: google
- License: bsd-3-clause
- Created: 2013-09-10T19:26:51.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2025-05-05T14:18:10.000Z (7 months ago)
- Last Synced: 2025-05-06T16:17:08.417Z (7 months ago)
- Topics: query-string, querystring
- Language: Go
- Homepage: https://pkg.go.dev/github.com/google/go-querystring/query
- Size: 67.4 KB
- Stars: 2,043
- Watchers: 25
- Forks: 178
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-go-cn - go-querystring - querystring) (文本处理 / 解析 器/Encoders/Decoders)
- go-awesome - go-querystring - 转换结构体为URL请求参数 (开源类库 / 路由)
- my-awesome - google/go-querystring - string,querystring pushed_at:2025-11 star:2.1k fork:0.2k go-querystring is Go library for encoding structs into URL query strings. (Go)
- awesome-go-plus - go-querystring - Go library for encoding structs into URL query parameters.  (Text Processing / Parsers/Encoders/Decoders)
- awesome-go - go-querystring - Go library for encoding structs into URL query parameters. Stars:`2.1K`. (Text Processing / Parsers/Encoders/Decoders)
- awesome-ccamel - google/go-querystring - go-querystring is Go library for encoding structs into URL query strings. (Go)
- go-awesome - go-querystring - Convert structure to URL request parameters (Open source library / Redirect)
- awesome-go-with-stars - go-querystring - Go library for encoding structs into URL query parameters. (Text Processing / Parsers/Encoders/Decoders)
- fucking-awesome-go - go-querystring - Go library for encoding structs into URL query parameters. (Text Processing / Parsers/Encoders/Decoders)
- awesome-go - go-querystring - Go library for encoding structs into URL query parameters. (Text Processing / Parsers/Encoders/Decoders)
- awesome-go - google/go-querystring - querystring is Go library for encoding structs into URL query strings. ☆`2,110` (Text Processing / Parsers/Encoders/Decoders)
- awesome-go - go-querystring - Go library for encoding structs into URL query parameters. (Text Processing / Parsers/Encoders/Decoders)
README
# go-querystring #
[](https://pkg.go.dev/github.com/google/go-querystring/query)
[](https://github.com/google/go-querystring/actions?query=workflow%3Atests)
[](https://codecov.io/gh/google/go-querystring)
go-querystring is a Go library for encoding structs into URL query parameters.
## Usage ##
```go
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:
```go
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.
[go-github]: https://github.com/google/go-github/commit/994f6f8405f052a117d2d0b500054341048fbb08
[package godocs]: https://pkg.go.dev/github.com/google/go-querystring/query
## Alternatives ##
If you are looking for a library that can both encode and decode query strings,
you might consider one of these alternatives:
- https://github.com/gorilla/schema
- https://github.com/pasztorpisti/qs
- https://github.com/hetiansu5/urlquery
- https://github.com/ggicci/httpin (decoder only)