首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨包的戈朗变量命名约定

跨包的戈朗变量命名约定
EN

Stack Overflow用户
提问于 2018-06-20 01:57:15
回答 1查看 1.3K关注 0票数 0

最近我开始学习围棋,这是我第一次使用高丽。C++是我的主要语言,由于围棋项目中的可变名称,我有点困惑。

核心/状态/托管_状态.25:25:键入帐户结构{

核心/状态/状态_object.go:98:类型Account struct {

状态包中既有“帐户”类型,也有“帐户”类型,这似乎很奇怪。

我查过相似Golang变量的命名约定了,看起来还是很糟糕。

我发现他们在不同的包中使用了很多"Node“结构。当然,他们确实有不同的目的和结构。

这种命名方式在金港很流行吗?如果您有任何好的参考命名约定在戈朗(例如,开放源码项目或书籍),请您命名其中的一些?我会很感激的。

EN

回答 1

Stack Overflow用户

发布于 2018-06-20 03:02:06

状态包中既有“帐户”类型,也有“帐户”类型,这似乎很奇怪。

在语言规范中,这两个名称之间有一个有意义的区别。

来自Go语言规范

可以导出标识符以允许从另一个包访问它。如果同时导出标识符,则为:

  1. 标识符名称的第一个字符是Unicode大写字母(Unicode类"Lu");以及
  2. 标识符在包块中声明,或者是字段名或方法名。

没有导出所有其他标识符。

因此,仔细看一下围棋代码库,以下是我的观察结果:

我认为当您查看生成的文档时,实现选择更有意义。

特别是帐户类型在前面和中心。,它详细描述了包的使用者感兴趣的数据结构。

当您查看ManageState结构的文档时,未导出的字段是故意没有文档化的。这是因为它们是内部细节,不会影响导出的接口,并且可以很容易地更改,而不会影响包的用户。

关于命名建议,请参阅分节

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50939125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档