首页 > 解决方案 > 结构中的私有类

问题描述

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

foo bar 示例的屏幕截图

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

标签: classgoconstructorprivate

解决方案


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

相反,您可以:

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

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


推荐阅读