Имена GetId
, getId
и ServeURL
действительны, они просто не соответствуют стилю рекомендациям .Имя getId
должно быть изменено на getID
в соответствии с указаниями.Дополнительную информацию об этих именах см. В разделе руководств initialisms .
пакет lint не предоставляет API для получения заменяющего текста для идентификатора.Тем не менее, можно создать исходный файл с идентификатором, передать его линтеру и проанализировать проблему.Примерно так:
import (
"bytes"
"fmt"
"golang.org/x/lint"
"strings"
)
func checkName(s string) (string, error) {
var buf bytes.Buffer
fmt.Fprintf(&buf, "// Package main is awesome\npackage main\n// %s is wonderful\nvar %s int\n", s, s)
var l lint.Linter
problems, err := l.Lint("", buf.Bytes())
if err != nil {
return "", err
}
if len(problems) >= 1 {
t := problems[0].Text
if i := strings.Index(t, " should be "); i >= 0 {
return t[i+len(" should be "):], nil
}
}
return "", nil
}
Вызов функции checkName("getId")
возвращает "getID"
.