nil slices vs non-nil slices vs empty slices in Go language

后端 未结 3 1177
無奈伤痛
無奈伤痛 2020-12-02 08:29

I am a newbee to Go programming. I have read in go programming book that slice consists of three things: a pointer to an array, length and capacity.

I am getting con

3条回答
  •  情歌与酒
    2020-12-02 09:10

    var s1 []int         // nil slice
    s2 := []int{}        // non-nil, empty slice
    s3 := make([]int, 0) // non-nil, empty slice
    

    warning, if dealing with JSON, a nil slice will encode to null instead of [], which can break some (javascript) clients that try to iterate (without a null check) over null which isn't iterable.

提交回复
热议问题