golang slice append 总结

原创
2020/07/26 03:37
阅读数 452
var r *reward
var rs []*reward                        // [] 0 0
rs = append(rs, nil...)                 // [] 0 0
rs = append(rs, nil)                    // [<nil>] 1 1
rs = append(rs, r)                      // [<nil> <nil>] 2 2
rs = append(rs, []*reward{nil}...)      // [<nil> <nil> <nil>] 3 4
rs = append(rs, []*reward{nil}[:]...)   // [<nil> <nil> <nil> <nil>] 4 4
rs = append(rs, []*reward{r}...)        // [<nil> <nil> <nil> <nil> <nil>] 5 8
rs = append(rs, []*reward{}...)         // [<nil> <nil> <nil> <nil> <nil>] 5 8
rs = append(rs, &reward{})              // [<nil> <nil> <nil> <nil> <nil> 0x5a0020] 6 8
rs = append(rs, (*reward)(nil))         // [<nil> <nil> <nil> <nil> <nil> 0x5a0020 <nil>] 7 8
rs = append(rs, ([]*reward)(nil)...)    // [<nil> <nil> <nil> <nil> <nil> 0x5a0020 <nil>] 7 8
rs = append(rs, ([]*reward)(nil)[:]...) // [<nil> <nil> <nil> <nil> <nil> 0x5a0020 <nil>] 7 8

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部