Метод url.Values.Get

Метод url.Values.Get возвращает первое значение, ассоциированное с указанным ключом в коллекции параметров запроса. Если ключ не найден, метод возвращает пустую строку. В случае, когда у ключа есть несколько значений, возвращается только первое. Параметром метод принимает строку с именем ключа.

Синтаксис

govalues.Get(key)

Пример

Давайте создадим коллекцию параметров запроса и получим значение по ключу 'name':

gopackage main

import (
  "fmt"
  "net/url"
)

func main() {
  params := url.Values{}
  params.Set("name", "John")
  res := params.Get("name")
  fmt.Println(res)
}

Результат выполнения кода:

go"John"

Пример

Давайте получим значение по несуществующему ключу:

gopackage main

import (
  "fmt"
  "net/url"
)

func main() {
  params := url.Values{}
  res := params.Get("absent")
  fmt.Printf("%q", res)
}

Результат выполнения кода:

go""

Пример

Рассмотрим случай, когда у одного ключа есть несколько значений. Метод Get возвращает только первое значение:

gopackage main

import (
  "fmt"
  "net/url"
)

func main() {
  params := url.Values{}
  params.Add("colors", "red")
  params.Add("colors", "blue")
  params.Add("colors", "green")
  res := params.Get("colors")
  fmt.Println(res)
}

Результат выполнения кода:

go"red"

Пример

Давайте получим значение из параметров, переданных через URL-строку:

gopackage main

import (
  "fmt"
  "net/url"
)

func main() {
  rawURL := "https://example.com/?search=golang&page=2"
  parsedURL, _ := url.Parse(rawURL)
  params := parsedURL.Query()
  res := params.Get("search")
  fmt.Println(res)
}

Результат выполнения кода:

go"golang"

Смотрите также

  • метод url.Values.Set,
    который устанавливает значение для ключа
  • метод url.Values.Add,
    который добавляет значение для ключа
  • метод url.Values.Encode,
    кодирующий значения в формат строки запроса
  • функцию url.Parse,
    которая разбирает URL-строку в структуру URL