我刚开始使用 GoLang。我注意到有一些这样的初始化
agentUi := &f.Foo{ Reader: os.Stdin, Writer: os.Stdout, ErrorWriter: os.Stderr, }
来自 c++ 背景,我的印象是上面的原因是因为开发人员想要创建一个指针 agentUi 而不是他可以做这样的事情的对象
agentUi := f.Foo{ Reader: os.Stdin, Writer: os.Stdout, ErrorWriter: os.Stderr, }
所以基本上确保对象在范围结束后仍然有效。简而言之,在堆而不是堆栈上创建对象。那是对的吗 ?
慕村225694
相关分类