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

在Go中,公共名称以大写字母开头,私人名称以小写字母开头。

我正在编写一个不是库的程序,而是一个单独的程序包。是否有任何Go惯用语规定我的标识符应该是全部公开还是全部私有?我不打算将此程序包用作库或应从其他Go程序导入的程序。

我想不出为什么要混合的任何理由。“感觉”就像私有化是正确的选择。


我想我没有任何具体的答案,但是内特最接近地告诉我要考虑“出口与非出口”而不是“公共和私人”。

这使我相信不导出任何内容是最好的方法。在最坏的情况下,如果最终我从应用程序中的另一个程序包中导入代码,我将不得不重新考虑应该导出什么和不应该导出什么。海事组织这是一件好事。


守着一只汪
浏览 186回答 3
3回答

九州编程

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

不负相思意

我的许多go文件都是从隔离的命令开始的,并被移至程序包,因为它们可以被围绕同一主题的一些命令重用。我认为您应该将无法从其他地方调用的所有东西都私有化(假设有一天您将其做成可导入的包),并公开可以从其他地方理解的大函数(如果有的话),并构造正交的字段(我的意思是,更改一个字段的值不会破坏struct值的一致性)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go