Перейти ветеринарное предупреждение на Sprintf - PullRequest
0 голосов
/ 02 ноября 2018

Я работаю над проектом, в котором я использую что-то вроде ниже

func Test(format string, args ...interface{}) string {
    return fmt.Sprintf(format, args...)
}

Теперь, когда я запускаю go vet -v ./..., я получаю предупреждение:

не может проверить непостоянный формат при вызове Sprintf

Что я понимаю, это потому, что первый аргумент Sprintf не является константой, и это может быть что угодно, что в основном передается как строка формата. Также довольно часто используется, например, здесь, на самом ветеринарном тесте

Теперь я узнал, что это ошибка в инструменте ветеринара, и его можно исправить, передав аргумент -printf=false ветеринару. Но это также отключит все другие проверки printf, которые я не хочу.

Теперь реальный вопрос, как я могу исправить эти предупреждения?

1 Ответ

0 голосов
/ 02 ноября 2018

Если вы вызываете 'go vet' через пакет gometalinter, вы можете указать gometalinter игнорировать определенные предупреждения с помощью директивы no-lint в комментарии. Пример:

func Test(format string, args ...interface{}) string {
    return fmt.Sprintf(format, args...) // nolint: vet
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...