【发布时间】:2019-12-30 08:41:14
【问题描述】:
我是编程新手。这是我的一段代码。我正在尝试为结构分配值并将该结构分配给通道。但它没有设置它并进入默认情况。
package main
import (
"fmt"
)
type object struct {
a int
b string
}
func main() {
o1 := object{
a: 25,
b: "quack",
}
var oc chan object
select {
case oc <- o1:
fmt.Println("Chan is set")
default:
fmt.Println("Chan is not set")
}
}
【问题讨论】:
-
选择中的任何
case仅当它可以发生时才会发生。如果没有人可以从您的 oc 中读取(或者在您的情况下更糟糕的是您没有制作的 oc),则会发生默认值。围棋之旅详细解释了这一点。