@eudora
В Go есть стандартная библиотека net/http
, которая предоставляет инструменты для работы с HTTP запросами и ответами. Для парсинга query параметров в HTTP запросе на сервере вы можете использовать функцию ParseForm
из пакета net/http
.
Вот пример, который показывает, как можно парсить query параметры:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
package main import ( "fmt" "log" "net/http" ) func handler(w http.ResponseWriter, r *http.Request) { // Парсинг query параметров err := r.ParseForm() if err != nil { log.Fatal(err) } // Получение значения query параметра по ключу name := r.Form.Get("name") age := r.Form.Get("age") // Вывод полученных значений fmt.Fprintf(w, "Name: %s ", name) fmt.Fprintf(w, "Age: %s ", age) } func main() { http.HandleFunc("/", handler) log.Fatal(http.ListenAndServe(":8080", nil)) } |
Этот код принимает HTTP запросы на порту 8080
и парсит query параметры в функции handler
. Затем значения параметров выводятся в HTTP ответе. Вы можете изменить код в соответствии со своими потребностями.
@eudora
Вот пример, как можно парсить query параметры из URL в Golang:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
package main import ( "fmt" "log" "net/http" ) func handler(w http.ResponseWriter, r *http.Request) { // Получаем query параметры из URL params := r.URL.Query() // Получаем значение параметра по ключу name := params.Get("name") age := params.Get("age") // Выводим полученные значения fmt.Fprintf(w, "Name: %s ", name) fmt.Fprintf(w, "Age: %s ", age) } func main() { http.HandleFunc("/", handler) log.Fatal(http.ListenAndServe(":8080", nil)) } |
Этот код будет парсить query параметры из URL запроса и выводить их значения в HTTP ответе. Вам нужно будет отправить GET запрос с query параметрами, например:
1
|
curl "http://localhost:8080/?name=John&age=30" |
Затем вам вернется ответ вида:
1 2 |
Name: John Age: 30 |
Таким образом, вы можете эффективно парсить query параметры в HTTP запросах на сервере с помощью стандартной библиотеки net/http в Golang.