为了账号安全,请及时绑定邮箱和手机立即绑定

当编写一个单一的程序包用作命令时,这是很惯用的:将所有标识符都命名为private还是将所

当编写一个单一的程序包用作命令时,这是很惯用的:将所有标识符都命名为private还是将所

Go
守着一只汪 2021-04-27 13:49:40
在Go中,公共名称以大写字母开头,私人名称以小写字母开头。我正在编写一个不是库的程序,而是一个单独的程序包。是否有任何Go惯用语规定我的标识符应该是全部公开还是全部私有?我不打算将此程序包用作库或应从其他Go程序导入的程序。我想不出为什么要混合的任何理由。“感觉”就像私有化是正确的选择。我想我没有任何具体的答案,但是内特最接近地告诉我要考虑“出口与非出口”而不是“公共和私人”。这使我相信不导出任何内容是最好的方法。在最坏的情况下,如果最终我从应用程序中的另一个程序包中导入代码,我将不得不重新考虑应该导出什么和不应该导出什么。海事组织这是一件好事。
查看完整描述

3 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

在上述情况下,两种方法都同样有效,因此或多或少是个人喜好问题。在我的情况下,我使用骆驼用的包主标识符,主要是出于习惯。


查看完整回答
反对 回复 2021-05-10
?
不负相思意

TA贡献1777条经验 获得超10个赞

我的许多go文件都是从隔离的命令开始的,并被移至程序包,因为它们可以被围绕同一主题的一些命令重用。

我认为您应该将无法从其他地方调用的所有东西都私有化(假设有一天您将其做成可导入的包),并公开可以从其他地方理解的大函数(如果有的话),并构造正交的字段(我的意思是,更改一个字段的值不会破坏struct值的一致性)。


查看完整回答
反对 回复 2021-05-10
  • 3 回答
  • 0 关注
  • 185 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信