Go 函数的命名约定

sur*_*bhi 3 naming-conventions go

在文档中,他们同时使用驼峰式和帕斯卡式。这个约定对于函数和方法有不同吗?它决定函数的范围吗?

eva*_*nal 8

是的。在 Go 中,如果字段/方法以大写字母开头,则会导出该字段/方法,而如果标识符的第一个字母是小写字母,则不会导出。这类似于大多数面向对象语言中的公共/私有功能。这是一两个例子;

package "a"

func ThisFunctionIsExported() {}

func thisOneIsNot() {}


...

package "b"

import "a"

a.ThisFunctionIsExported() // works

a.thisOneIsNot() // compiler error
Run Code Online (Sandbox Code Playgroud)

所以,是的,开发人员有意识地通过他们的外壳选择来决定这些方法的范围。小写函数始终是包范围内的辅助方法,它们不会在导入范围中公开。