- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我想在 Go 中编写一个函数来将文档插入到 MongoDB 数据库的集合中。给函数起什么名字比较好,
writeToMongoDB
或 WriteToMongoD
? 第二个是CamelCase,我看到有人用第一个的风格,所以我不确定哪个更合适。谢谢。
最佳答案
在 Go 中,这不是风格问题,而是语法问题。
导出的名称(即,可以从定义它们的包之外的包中使用的标识符)以大写字母开头。因此,如果您的方法是公共(public) API 的一部分,则应编写为:
WriteToDB
但如果是内部辅助方法,则应该这样写:
writeToDB
与使用关键字定义导出性(extern
、public
等)相比,这样做的好处在于,将其作为名称的一部分可确保在任何地方使用了标识符,您可以判断它是否被导出,而无需查找它的定义位置(查看定义是否包含关键字)。
另见: Exported Identifiers来自规范。
因为 Go 是 UTF-8 编码的,并且支持标识符名称中具有字母或数字属性的任何 Unicode 字符,所以在语言环境中没有大小写概念的某些人可能无法创建导出方法(默认为非导出)。在这种情况下(双关语),通常在标识符前加上 X
前缀来表示导出性。例如:X日本语
另见: What's up with Unicode identifiers?来自常见问题解答。
就一般样式而言,始终使用驼峰式大小写(如前所述,第一个字母除外)。这包括常量、函数和其他标识符。因此,例如(导出的)常量列表可能如下所示:
const (
StateConnected = iota
StateError
StateDone
internalStateMask = 0x2
)
此外,缩写总是以相同的大小写书写,因此您可以编写以下内容之一:
dbWrite
writeDB
而不是 writeDb
或 DbWrite
。
关于go - 在 Go、CamelCase 或 Semi-CamelCase 中以哪种方式命名函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38616687/
我已经完成了一半的工作。这很好用: 'MyOwnVar'.match(/([a-z]*)([A-Z][a-z]+)/g) 结果: ["My", "Own", "Var"] 目标是提取单个单词。但是,如
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 6 年前。 Improve
我想在 Go 中编写一个函数来将文档插入到 MongoDB 数据库的集合中。给函数起什么名字比较好, writeToMongoDB 或 WriteToMongoD? 第二个是CamelCase,我看到
我无法查询与 Sequelize 的多对多关联,我推测它与小写/大写问题有关。 我的别名和列名是 camelCase ( extraId ),但生成的查询似乎尝试 TitleCased ( Extra
我应该如何以屏幕阅读器正确读取的方式命名我编写的符号,以免它们对盲人程序员造成障碍? “符号”是指变量和函数名称之类的东西。 例如,如果我将变量名称写为 companyId ,它会被正确读取吗?或者写
我正在尝试将连字符字符串转换为 CamelCase 字符串。我关注了这篇文章:Convert hyphens to camel case (camelCase) (defn hyphenated-na
例如,BuiltinStuff 或 BuiltInStuff,哪一个是 Java 中正确的类命名? 最佳答案 我的投票投给了BuildInStuff。 “buildin”不是一个词。 关于java -
Given s, print the number of words in on a new line. For example, s = oneTwoThree . There are 3 word
快到了,但是我在正则表达式中发现了几个漏洞,无法将 CamelCase 转换为 Spaced Sentence Case。它在大多数情况下都表现良好(双关语),但它卡在第一个连字符的单词上。我不明白为
我有这段代码可以通过正则表达式拆分 CamelCase: Regex.Replace(input, "(?<=[a-z])([A-Z])", " $1", RegexOptions.Compiled)
我正在尝试将帖子标题转换为 CamelCase 以创建 Twitter 主题标签,我正在使用 strip 但它返回一个对象,我不知道这是否是正确的方法? # views.py def post_cre
这都是 asp.net c#。 我有一个枚举 public enum ControlSelectionType { NotApplicable = 1, SingleSelectRad
使用正则表达式(我假设)或其他一些方法,我如何转换如下内容: marker-image 或 my-example-setting 到 markerImage 或 myExampleSetting。 我
我需要更改字符串:下划线 + 小写 = 大写。(反之亦然) my_name -> myName 有什么图书馆或其他东西可以帮助解决这个问题吗? 最佳答案 您可以使用 CaseFormat class'
我想获取这样的字符串:'this-is-a-string' 并将其转换为:'thisIsAString': function dashesToCamelCase($string, $capitaliz
题目地址:https://leetcode.com/problems/camelcase-matching/ 题目描述 Aquery word matches a given pattern if
有人能告诉我为什么在 NHibernate 映射中我们可以设置 access="field.camelcase" ,因为我们有 access="field"和 access="property" ?
通常,如果您要将一串单词转换为 camel case您只将每个单词的第一个字母大写(禁止第一个单词)。 这如何适用于像 re-render 这样的带连字符的单词? 我内心深处想要它是rerender或
面临OData获取JSON相应样式Model EF的问题。 { Name: "..", Number: 123 } 根据网上的资料在WebAPI中设置CamelCase做行 config.
是否可以在不通过驼峰式大小写获取数据属性的情况下提取数据属性值? 示例:使用此按钮: >Lookup 当单击此按钮时,我想做一些 ajax 操作。目前我只知道如何通过驼峰大小写获取数据属性value:
我是一名优秀的程序员,十分优秀!