首页 > 后端开发 > Golang > 为什么 Go 函数的名称大写为公共,而包的名称小写为私有?

为什么 Go 函数的名称大写为公共,而包的名称小写为私有?

Mary-Kate Olsen
发布: 2024-11-26 15:26:12
原创
180 人浏览过

Why Are Go Functions Public with Uppercase Names but Packages Private with Lowercase Names?

Go 中的公共和私有访问修饰符:大写和小写混淆

从 Delphi 或 C 过渡到 Go 时,了解规则管理访问修饰符可能具有挑战性。特别令人困惑的是使用大小写字母来表示公共和私有访问。

访问修饰符规则:

在 Go 中,公共访问是通过大写来实现的函数或类型名称。例如,名为 myFunc 的公共函数将编写为 func MyFunc()。

容器类异常:

但是,在使用容器/列表等容器类时,规则似乎被打破了。容器类型名称List是大写的,表示公共访问,但是包名称container/list是小写的。这种不一致可能会令人困惑。

解释:

在 Go 中,包与类型不同。包名称表示包代码所在的文件和目录。包名称通常与包路径的最后部分相同,但情况并非总是如此。

包的公共成员是通过大写类型名称访问的。在此示例中,container/list 是包路径,List 是公共类型名称。小写的 list 是包的别名,允许您在代码中将其引用为 list。

因此, func GetFactors(value *int64) *list.List {...} 和 l : = list.New() 都是有效的,因为 List 是 container/list 包中的公共类型,而 list 是该包的别名。

以上是为什么 Go 函数的名称大写为公共,而包的名称小写为私有?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板