Метод http.Header.Get

Метод http.Header.Get возвращает первое значение заголовка HTTP, связанное с указанным ключом. В качестве параметра метод принимает ключ заголовка в виде строки. Если заголовок с таким ключом отсутствует, метод возвращает пустую строку. Метод выполняет поиск ключа без учета регистра, что соответствует спецификации HTTP.

Синтаксис

goheader.Get(key)

Пример

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

gopackage main

import (
  "fmt"
  "net/http"
)

func main() {
  header := http.Header{}
  header.Set("Content-Type", "application/json")
  header.Set("X-Custom-Header", "my-value")

  res := header.Get("Content-Type")
  fmt.Println(res)
}

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

go"application/json"

Пример

Метод не учитывает регистр при поиске ключа:

gopackage main

import (
  "fmt"
  "net/http"
)

func main() {
  header := http.Header{}
  header.Set("Content-Type", "application/json")

  res := header.Get("content-type")
  fmt.Println(res)
}

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

go"application/json"

Пример

Если заголовок с указанным ключом отсутствует, метод возвращает пустую строку:

gopackage main

import (
  "fmt"
  "net/http"
)

func main() {
  header := http.Header{}
  header.Set("Content-Type", "application/json")

  res := header.Get("Authorization")
  fmt.Printf("result: %q\n", res)
}

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

go"result: \"\""

Пример

При работе с множественными значениями заголовка метод возвращает только первое:

gopackage main

import (
  "fmt"
  "net/http"
)

func main() {
  header := http.Header{}
  header.Add("Accept", "application/json")
  header.Add("Accept", "text/plain")

  res := header.Get("Accept")
  fmt.Println(res)
}

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

go"application/json"

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

  • метод http.Header.Set,
    который устанавливает значение заголовка
  • метод http.Header.Add,
    который добавляет новое значение заголовка
  • метод http.Header.Del,
    который удаляет заголовок
  • метод http.Header.Values,
    который возвращает все значения заголовка