对于 GoLang 新手,来自 Delphi、C++:
我第一次尝试在 Go 中创建自己的包,按照如何布置工作区等所有说明操作,但我不断地遇到编译器错误:
./myPackage.go:52: undefined: myFunc
我稍微研究了一下,发现在Go语言中,公共访问修饰符只需通过将函数声明为大写字母即可实现。不错。
但当我开始尝试容器类(以List
为例)时,我发现必须像这样声明一个List引用返回值:
func GetFactors(value *int64) *list.List {...
*list
的字母要小写。
当我声明了一个指向列表的本地引用时,也是同样的:
l := list.New()
再次强调,list
应为小写。
所以我很困惑。规则是什么?列表的调用和引用显然是公开的,否则我就无法调用/使用它们——那么为什么它们要写成小写字母呢?