我可以找到 Go 中命名包的约定:单词之间没有下划线,全部小写。
此约定是否也适用于文件名?
您是否也将一个结构放在一个文件中,就像您对一个 java 类所做的那样,然后以该结构命名该文件?
目前,如果我有一个 struct WebServer,我会把它放在一个文件 web_server.go 中。
原文由 david 发布,翻译遵循 CC BY-SA 4.0 许可协议
我可以找到 Go 中命名包的约定:单词之间没有下划线,全部小写。
此约定是否也适用于文件名?
您是否也将一个结构放在一个文件中,就像您对一个 java 类所做的那样,然后以该结构命名该文件?
目前,如果我有一个 struct WebServer,我会把它放在一个文件 web_server.go 中。
原文由 david 发布,翻译遵循 CC BY-SA 4.0 许可协议
除了 JimB 提供的答案之外,常规文件名是小写的、短的,并且没有任何下划线或空格。通常,文件名遵循与包名相同的约定。请参阅 Effective Go 的 包名称 部分。
有关一个很好的例子,请参阅 strconv 包。
原文由 Zamicol 发布,翻译遵循 CC BY-SA 3.0 许可协议
7 回答5.4k 阅读
6 回答7k 阅读✓ 已解决
4 回答2.4k 阅读
1 回答3.4k 阅读
2 回答945 阅读✓ 已解决
2 回答2.3k 阅读
1 回答2.2k 阅读
有一些准则需要遵循。
_test.go
的文件只能通过go test
工具编译运行。name_linux.go
将仅在 linux 上构建,name_amd64.go
将仅在 amd64 上构建。这与文件顶部的//+build amd64
行相同有关详细信息,请参阅
go
文档: https ://pkg.go.dev/cmd/go