HTTP Clients
Query Parameters
The URL query map lets code add or replace request parameters deterministically.
query string
Query strings add small key-value choices to the end of a request URL.
Query Parameters
query_parameters.go
Replay: real traced execution (multi-file project)
package main
import "fmt"
func main() {
var item = "book"
baseURL := "https://api.example.test/search"
rawQuery := "item=" + item + "&limit=3"
fullURL := baseURL + "?" + rawQuery
fmt.Println("item=", item)
fmt.Println("rawQuery=", rawQuery)
fmt.Println("fullURL=", fullURL)
}
package main
import "fmt"
func main() {
var item = "pen"
baseURL := "https://api.example.test/search"
rawQuery := "item=" + item + "&limit=3"
fullURL := baseURL + "?" + rawQuery
fmt.Println("item=", item)
fmt.Println("rawQuery=", rawQuery)
fmt.Println("fullURL=", fullURL)
}
package main
import "fmt"
func main() {
var item = "mug"
baseURL := "https://api.example.test/search"
rawQuery := "item=" + item + "&limit=3"
fullURL := baseURL + "?" + rawQuery
fmt.Println("item=", item)
fmt.Println("rawQuery=", rawQuery)
fmt.Println("fullURL=", fullURL)
}
item ← "book", baseURL ← "https://api.example.test/search", rawQuery ← "item=book&limit=3"
5func main() {6 var item→ "book" = "book" //@item="pen", "mug"7 baseURL→ "https://api.example.test/search" := "https://api.example.test/search"8 rawQuery→ "item=book&limit=3" := "item=" + item"book" + "&limit=3"9 fullURL→ "https://api.example.test/search?item=book&limit=3" := baseURL"https://api.example.test/search" + "?" + rawQuery"item=book&limit=3"1011 fmt.Println("item=", item"book")12 fmt.Println("rawQuery=", rawQuery"item=book&limit=3")13 fmt.Println("fullURL=", fullURL"https://api.example.test/search?item=book&limit=3")14}outputitem= book rawQuery= item=book&limit=3 fullURL= https://api.example.test/search?item=book&limit=3
item ← "pen", baseURL ← "https://api.example.test/search", rawQuery ← "item=pen&limit=3"
5func main() {6 var item→ "pen" = "pen"7 baseURL→ "https://api.example.test/search" := "https://api.example.test/search"8 rawQuery→ "item=pen&limit=3" := "item=" + item"pen" + "&limit=3"9 fullURL→ "https://api.example.test/search?item=pen&limit=3" := baseURL"https://api.example.test/search" + "?" + rawQuery"item=pen&limit=3"1011 fmt.Println("item=", item"pen")12 fmt.Println("rawQuery=", rawQuery"item=pen&limit=3")13 fmt.Println("fullURL=", fullURL"https://api.example.test/search?item=pen&limit=3")14}outputitem= pen rawQuery= item=pen&limit=3 fullURL= https://api.example.test/search?item=pen&limit=3
item ← "mug", baseURL ← "https://api.example.test/search", rawQuery ← "item=mug&limit=3"
5func main() {6 var item→ "mug" = "mug"7 baseURL→ "https://api.example.test/search" := "https://api.example.test/search"8 rawQuery→ "item=mug&limit=3" := "item=" + item"mug" + "&limit=3"9 fullURL→ "https://api.example.test/search?item=mug&limit=3" := baseURL"https://api.example.test/search" + "?" + rawQuery"item=mug&limit=3"1011 fmt.Println("item=", item"mug")12 fmt.Println("rawQuery=", rawQuery"item=mug&limit=3")13 fmt.Println("fullURL=", fullURL"https://api.example.test/search?item=mug&limit=3")14}outputitem= mug rawQuery= item=mug&limit=3 fullURL= https://api.example.test/search?item=mug&limit=3