首页 > 编程语言 > 详细

安全的Go语言从源数组构建目标Slice

时间:2014-11-11 19:21:43      阅读:215      评论:0      收藏:0      [点我收藏+]

今天在QQ群里聊到GO语言需要改进的地方,快乐的吐槽了一番。我之前最希望用数组构建slice的语法变更一下,因为现在流行的[start:end]方式并不严谨。后来不记得是哪个版本的时候,引入了三段式的[start:end:max]语法来创建slice。这样是安全了,但是确丑了很多。

如下例所示,二段式的定义在append操作后会污染到源数组:

    a := [5]int{1, 2, 3, 4, 5}
    s1 := a[1:3:3]
    s2 := a[1:3]
    _ = append(s1, 6)
    fmt.Println(a)  //out:[1 2 3 4 5]
    _ = append(s2, 7)
    fmt.Println(a)  //out:[1 2 3 7 5]


关于对new函数的改进,chai大帮我发到了邮件组,感谢chai大。

bubuko.com,布布扣

安全的Go语言从源数组构建目标Slice

原文:http://my.oschina.net/promi/blog/343155

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!