• go语言range语句中的值的坑


    在range语句中生成的数据的值是真实集合元素的副本,它们不是原有元素的引用。这意味着更新这些值将不会
    修改原来的数据,同时也意味着使用这些值的地址将不会得到原有数据的指针。

    package main
    import "fmt"
    func main(){
      data := []int{1,2,3}
      for _,v := range data{
        v *= 10 //通常数据项不会改变
      }
      fmt.Println(data) // [1 2 3]
    }
    

    如果需要更新原有集合中的数据,可使用索引操作符来获取

    package main
    import "fmt"
    func main(){
      data := []int{1,2,3}
      for i,_ := range data{
        data[i] *= 10
      }
      fmt.Println(data) // [10 20 30]
    }
    
  • 相关阅读:
    正则表达式--hdu2206ip匹配
    win7查看隐藏分区
    我购买byd的几点逻辑
    html5笔记
    机器学习
    Popular Cows
    武大OJ 574. K-th smallest
    武大OJ 622. Symmetrical
    [HAOI2011]防线修建
    1185: [HNOI2007]最小矩形覆盖
  • 原文地址:https://www.cnblogs.com/weiweivip666/p/16140005.html
Copyright © 2020-2023  润新知