go语言陷阱之七:不能用nil初始化无类型变量

2015-07-25  本文已影响522人  wu_sphinx

The "nil" identifier can be used as the "zero value" for interfaces, functions, pointers, maps, slices, and channels
go里面的nil可以作为接口、方法、指定等(后面不知怎么翻译)的零值,但一定得有类型。
先上代码:

package main

func main() {
    var x = nil //error

    _ = x
}
# command-line-arguments
./hello.go:4: use of untyped nil

至此,go语言中变量似乎都有一个明确的归属,对于coder来说,才能做到心中有数。
找到原因后,上正确示例:

package main

func main() {  
    var x interface{} = nil

    _ = x
}

又避免了一坑

上一篇下一篇

猜你喜欢

热点阅读