在文档中,他们使用驼峰大小写和pascal大小写。对于函数和方法,这种约定是否有所不同?它决定一个函数的作用域吗?
发布于 2016-09-23 02:17:48
是。在Go中,如果字段/方法以大写字母开头,则将其导出,而如果标识符的第一个字母为小写,则将其取消导出。这类似于大多数面向对象语言中的公共/私有特性。这里有一两个例子;
package "a"
func ThisFunctionIsExported() {}
func thisOneIsNot() {}
...
package "b"
import "a"
a.ThisFunctionIsExported() // works
a.thisOneIsNot() // compiler error所以,是的,开发人员正在有意识地决定这些方法的范围和他们的大小写选择。低大小写函数始终是包范围内的帮助器方法,它们不会在导入范围中公开。
发布于 2016-09-23 02:21:14
我不确定Go上有没有文档提到过"Pascal case“。假设你使用这个术语来表示驼峰大小写的名字,要么以大写字母开头,要么以小写字母开头,对吗?
好的,Go使用术语“驼峰情况”来表示这两种变体。标识符的第一个字母是大写还是不是大写的区别实际上决定了该符号的可见性。有关更多信息,请阅读Go上的任何入门级指南。
https://stackoverflow.com/questions/39646116
复制相似问题