2016-09-22 133 views
0

在文档中,它们都使用骆驼事件和pascal事件。这个约定是不同的函数和方法?它是否决定了函数的范围?Go函数的命名约定

回答

3

是的。在Go中,如果字段/方法以大写字母开头,而未导出字母,则标识符的第一个字母为小写。这与大多数OO语言中的公共/私人功能类似。这里有一个或两个例子。

package "a" 

func ThisFunctionIsExported() {} 

func thisOneIsNot() {} 


... 

package "b" 

import "a" 

a.ThisFunctionIsExported() // works 

a.thisOneIsNot() // compiler error 

所以,是开发商有意识地决定什么这些方法的范围与他们的外壳选择。低级函数总是包范围内的辅助方法,它们不会在导入范围中公开。

1

我不确定Go上的文档曾经提到“Pascal案例”。 假设你使用这个词来表示驼峰名字,以大写或小写字母开头,对吗?

好的,Go对这两种变体都使用术语“骆驼案例”。 标识符的第一个字母与大写字母之间的区别确实决定了该符号的可见性。 请阅读Go上的任何入门级指南以获取更多信息。

+0

是的,他很确定他使用pascal case来引用像thisIsAnObject这样的名字,而camel case则是ThisIsAnObject - 这不是很多开发者担心或关心的区别。 – evanmcdonnal

+0

我的意思是相反的 – surbhi