Метод http.Header.Get
Метод http.Header.Get возвращает первое значение заголовка HTTP,
связанное с указанным ключом. В качестве параметра метод принимает
ключ заголовка в виде строки. Если заголовок с таким ключом отсутствует,
метод возвращает пустую строку. Метод выполняет поиск ключа без учета
регистра, что соответствует спецификации HTTP.
Синтаксис
header.Get(key)
Пример
Давайте создадим HTTP заголовок и получим значение по ключу:
package 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)
}
Результат выполнения кода:
"application/json"
Пример
Метод не учитывает регистр при поиске ключа:
package main
import (
"fmt"
"net/http"
)
func main() {
header := http.Header{}
header.Set("Content-Type", "application/json")
res := header.Get("content-type")
fmt.Println(res)
}
Результат выполнения кода:
"application/json"
Пример
Если заголовок с указанным ключом отсутствует, метод возвращает пустую строку:
package 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)
}
Результат выполнения кода:
"result: \"\""
Пример
При работе с множественными значениями заголовка метод возвращает только первое:
package 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)
}
Результат выполнения кода:
"application/json"
Смотрите также
-
метод
http.Header.Set,
который устанавливает значение заголовка -
метод
http.Header.Add,
который добавляет новое значение заголовка -
метод
http.Header.Del,
который удаляет заголовок -
метод
http.Header.Values,
который возвращает все значения заголовка