Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top

Вебинар: Стратегия без иллюзий: как превращать цели в результаты - 19.08

menu mobile close menu
Проверка проектов
Дополнительная информация
toggle menu Оглавление

V8039. Suspicious leading or trailing whitespace in the value used to identify an element.

06 Авг 2026

Анализатор обнаружил строку с потенциально некорректным начальным или конечным пробелом.

Рассмотрим несколько примеров, на которые анализатор выдаёт предупреждения.

Пример N1:

func buildRequestHeaders() {
  headers := map[string]string{
    "Content-Type": "application/json",
    "Accept ":      "application/json",
    "User-Agent":   "my-service/1.0",
    ....
  }
  ....
}

Строковый ключ "Accept " содержит пробел в конце. При попытке получить значение по ключу "Accept" (без пробела) оно не будет найдено.

Для исправления нужно убрать пробел:

"Accept":      "application/json"

Пример N2:

func registerFlags() {
  debug := flag.Bool("debug", false, "enable debug logging")
  port := flag.Int(" port", 8080, "server port")

  flag.Parse()

  ....
}

Имя флага " port" начинается с пробела. В результате флаг будет зарегистрирован именно с таким именем, и пользователь не сможет передать его привычным образом (--port).

Для исправления нужно убрать пробел:

port := flag.Int("port", 8080, "server port")

Пример N3:

func decodeUser() {
  type User struct {
    ID   int    `json:"id"`
    Name string `json:" name"`
  }

  u := User{
    ID:   1,
    Name: "Donald",
  }

  ....
}

Значение тега json:" name" содержит пробел в начале. При сериализации и десериализации JSON будет использоваться ключ " name" вместо ожидаемого "name".

Для исправления нужно убрать пробел:

Name string `json:"name"`