Go 中的文件名约定是什么?

新手上路,请多包涵

我可以找到 Go 中命名包的约定:单词之间没有下划线,全部小写。

此约定是否也适用于文件名?

您是否也将一个结构放在一个文件中,就像您对一个 java 类所做的那样,然后以该结构命名该文件?

目前,如果我有一个 struct WebServer,我会把它放在一个文件 web_server.go 中。

原文由 david 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 578
2 个回答

有一些准则需要遵循。

  1. 以“.”开头的文件名或“_”被go工具忽略
  2. 后缀为 _test.go 的文件只能通过 go test 工具编译运行。
  3. 具有操作系统和体系结构特定后缀的文件自动遵循相同的约束,例如 name_linux.go 将仅在 linux 上构建, name_amd64.go 将仅在 amd64 上构建。这与文件顶部的 //+build amd64 行相同

有关详细信息,请参阅 go 文档: https ://pkg.go.dev/cmd/go

原文由 JimB 发布,翻译遵循 CC BY-SA 4.0 许可协议

除了 JimB 提供的答案之外,常规文件名是小写的、短的,并且没有任何下划线或空格。通常,文件名遵循与包名相同的约定。请参阅 Effective Go包名称 部分。

有关一个很好的例子,请参阅 strconv 包

原文由 Zamicol 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题