我正在尝试使用 Visual Studio Code 学习 Go,我想它在使用 Go linter。我创建了这个结构体来将 JSON 对象映射到其中。
type someAPI struct {
ApiEndpoint string `json:"apiEndpoint"`
ApiVersion string `json:"apiVersion"`
...
}
我收到了这些警告...
结构体字段ApiEndpoint应该是APIEndpoint
结构体字段ApiVersion应该是APIVersion
我进行了一些谷歌搜索,但并没有找到关于结构体字段名称的任何要求。我找到的最多的就是,如果您想将字段公开,则必须将其大写。
那么为什么linter警告我这些名称呢?
我做了一些测试,将Api
更改为Abc
后,linter没有警告我将其更改为“ABC”。所以我不得不认为它正在检查以“Api”开头的名称。
Go语言中的字段命名规范是什么?或者换句话说,我还需要了解其他规范吗?
gofmt
https://golang.org/cmd/gofmt/ 不强制执行缩略词的命名约定,所以我猜这只是他们在 VSC 中实现的方式,但这是标准库的编写方式,所以如果你想遵循一个标准,那么这可能是你应该使用的标准。 - TopoHttpHttpsSwitcher
这样的名称,但根据这个指南,它将是HTTPHTTPSSwitcher
(或httphttpsSwitcher
以减少可见性),这很难读。下划线呢? - NotX