我正在学习Go 教程,并且学到了有关 nil 切片的课程,其中写道:
nil 切片的长度和容量为 0,并且没有底层数组。
为了证明这一点,他们提供了这段有效的代码
package main
import "fmt"
func main() {
var s []int
fmt.Println(s, len(s), cap(s))
if s == nil {
fmt.Println("nil!")
}
}
但是,我尝试尝试并替换var s []int为s := []int{}. 控制台仍然[] 0 0像第一种情况一样打印,但不再打印nil!字符串。那为什么第一个不行nil,另一个不行呢?
哈士奇WWW
倚天杖
随时随地看视频慕课网APP
相关分类