gpt4 book ai didi

go - 在 Go、CamelCase 或 Semi-CamelCase 中以哪种方式命名函数?

转载 作者:IT老高 更新时间:2023-10-28 12:58:38 31 4
gpt4 key购买 nike

我想在 Go 中编写一个函数来将文档插入到 MongoDB 数据库的集合中。给函数起什么名字比较好,

  • writeToMongoDB
  • WriteToMongoD?

第二个是CamelCase,我看到有人用第一个的风格,所以我不确定哪个更合适。谢谢。

最佳答案

语法

在 Go 中,这不是风格问题,而是语法问题。

导出的名称(即,可以从定义它们的包之外的包中使用的标识符)以大写字母开头。因此,如果您的方法是公共(public) API 的一部分,则应编写为:

WriteToDB

但如果是内部辅助方法,则应该这样写:

writeToDB

与使用关键字定义导出性(externpublic 等)相比,这样做的好处在于,将其作为名称的一部分可确保在任何地方使用了标识符,您可以判断它是否被导出,而无需查找它的定义位置(查看定义是否包含关键字)。

另见: Exported Identifiers来自规范。

i18n

因为 Go 是 UTF-8 编码的,并且支持标识符名称中具有字母或数字属性的任何 Unicode 字符,所以在语言环境中没有大小写概念的某些人可能无法创建导出方法(默认为非导出)。在这种情况下(双关语),通常在标识符前加上 X 前缀来表示导出性。例如:X日本语

另见: What's up with Unicode identifiers?来自常见问题解答。

风格

就一般样式而言,始终使用驼峰式大小写(如前所述,第一个字母除外)。这包括常量、函数和其他标识符。因此,例如(导出的)常量列表可能如下所示:

const (
StateConnected = iota
StateError
StateDone

internalStateMask = 0x2
)

此外,缩写总是以相同的大小写书写,因此您可以编写以下内容之一:

dbWrite
writeDB

而不是 writeDbDbWrite

关于go - 在 Go、CamelCase 或 Semi-CamelCase 中以哪种方式命名函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38616687/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com