【发布时间】:2016-01-09 00:53:40
【问题描述】:
我在看 Slice Tricks:https://github.com/golang/go/wiki/SliceTricks
我注意到在他们的复制示例中他们有[]T(nil)
我以前从未见过像这样的(nil),我找不到任何关于使用它的文档或它到底完成了什么(我知道它是不言自明的,但我想知道它与make 的作用相同)或[]string{}
我可以通过谷歌搜索“golang (nil) slice”找到的唯一参考是
由于切片的零值 (nil) 的作用类似于零长度切片,因此您可以声明切片变量,然后在循环中附加到它:
但它没有说明它可以在哪里使用或它完成了什么,比如我可以将它用于结构或我想要的任何东西吗?
例如:
主包
导入“日志”
func main() {
str := []string{"Hello", "Bye", "Good Day", "????????"}
cop := append([]string(nil), str...)
log.Println(str)
log.Println(cop)
}
我只是好奇(nil) 是如何运作的,以及它可以在什么上运作。
喜欢
[]string(nil)
操作同
[]string{}
或者这里有什么区别
【问题讨论】:
标签: go