在golang中如何测试地图或频道是未初始化的

时间:2017-05-04 07:45:07

标签: go

var m map[int]int
var c chan int

如何使用make

测试m和c是否未初​​始化

2 个答案:

答案 0 :(得分:3)

您可以将这些值与nil进行比较,看看它们是否已初始化。例如:

var m map[int]int
var c chan int
fmt.Println("is m uninitialized:", m == nil) // true
fmt.Println("is c uninitialized:", c == nil) // true

m = make(map[int]int)
c = make(chan int)
fmt.Println("is m uninitialized:", m == nil) // false
fmt.Println("is c uninitialized:", c == nil) // false

游乐场示例代码 - https://play.golang.org/p/FzhygumF4v

答案 1 :(得分:1)

if m == nil || c == nil {
   wtf();
}