我可以像这样初始化一个缓冲的字符串通道
queue := make(chan string, 10)
但是如何初始化Go中结构中的缓冲通道?基本上我想为缓冲的字符串通道分配内存。但最初在结构中我只是定义它并在struct初始化中,我想为它分配内存
type message struct {
queue *chan string
// or will it be
//queue []chan string
}
func (this *message) init() {
queue = make(chan string,10)
this.queue = &queue
}
答案 0 :(得分:2)
这样做:
static var launchRequest:String? = nil
在这种情况下,无需获取频道的地址。
答案 1 :(得分:1)
以同样的方式:
type message struct {
queue chan string
}
func (m *message) init() {
m.queue = make(chan string, 10)
}
但是你似乎对某个频道有点困惑。 *chan string
是Go中的有效构造,但通常是不必要的。只需使用普通chan string
- 不需要指针。
//或者是否是 // queue [] chan string
这将是一个频道数组,这也是有效的,但在这种情况下不是你想要的。
频道不是数组。它更像是一个流(当您读取文件或网络连接时可能会得到)。但也不要把这个类比太过分了。