MCPcopy Index your code
hub / github.com/google/go-querystring

github.com/google/go-querystring @v1.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.2.0 ↗ · + Follow
40 symbols 72 edges 2 files 17 documented · 42% 271 cross-repo links
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

go-querystring

Go Reference Test Status Test Coverage

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

Usage

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"

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

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)

Extension points exported contracts — how you extend this code

Encoder (Interface)
Encoder is an interface implemented by any type that wishes to encode itself into URL values in a non-standard way.
query/encode.go

Core symbols most depended-on inside this repo

Contains
called by 11
query/encode.go
valueString
called by 4
query/encode.go
Values
called by 3
query/encode.go
isEmptyValue
called by 2
query/encode.go
parseTag
called by 2
query/encode.go
EncodeValues
called by 1
query/encode.go
reflectValue
called by 1
query/encode.go
IsZero
called by 1
query/encode.go

Shape

Function 19
Struct 9
Method 6
TypeAlias 4
Interface 2

Languages

Go100%

Modules by API surface

query/encode_test.go29 symbols
query/encode.go11 symbols

For agents

$ claude mcp add go-querystring \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact