在 Go 中,如果我们有一个类型的方法启动一些循环机制(轮询 A 并永远执行 B),最好将其表示为:
// Run does stuff, you probably want to run this as a goroutine
func (t Type) Run() {
// Do long-running stuff
}
并记录这可能希望作为 goroutine 启动(并让调用者处理它)
或者向调用者隐藏它:
// Run does stuff concurrently
func (t Type) Run() {
go DoRunStuff()
}
我是 Go 的新手,不确定约定是否让调用者前缀为“go”,或者在代码设计为异步运行时为他们做这件事。
我目前的观点是我们应该记录并给调用者一个选择。我的想法是,在 Go 中,并发实际上并不是公开接口的一部分,而是使用它的一个属性。这是正确的吗?
莫回无
侃侃尔雅
扬帆大鱼
相关分类