【问题标题】:Private class in a struct结构中的私有类
【发布时间】:2019-02-13 05:03:25
【问题描述】:

我是 Go 新手,找不到解决问题的好方法。 我有两种类型,第一种是私有的,因为我希望程序员使用构造函数。第二种类型包含第一种类型。

screenshot of foo bar example

对不起,我不仅是 GO 的新手,而且是 stackoverflow 问题的新手……所以这就是为什么没有代码,而是截图

【问题讨论】:

  • 把它们放在一个包里。 Go 中的包比 e.g. 中的要宽得多。爪哇。看看 stdlib 是如何做到的。
  • 将您的代码直接放入您的问题中。并且不包括文本的屏幕截图。直接复制粘贴文本即可。
  • 另请注意:Go 根本没有类,因此 Go 中没有“私有类”之类的东西。

标签: class go constructor private


【解决方案1】:

那就别那么做了。 Private in go 对那个包来说是私有的,所以它按设计工作。尝试使用这些工具,看看结果如何。

相反,您可以:

  • 信任你的包的用户,让 foo 保持打开状态
  • 将两种类型放在同一个包中
  • 有一个使用公共类型的私有字段
  • 使零值有用,这样您就不需要构造函数了

有很多选择,但也要问问自己,你真的需要这种复杂的嵌套结构结构来解决手头的问题吗?

【讨论】:

    猜你喜欢
    • 2015-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-21
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多