初级会员
  • 第 12335 位会员
  • openset
  • Openset
  • openset.wang@gmail.com
  • 2017-09-15 09:14:04
  • Offline
  • 21 99

最近分享的资源

    暂无

最近发布的项目

    暂无

最近的评论

  • 评论了主题 下面这段代码很神奇
    2楼 @chenph 问题是range map时会把动态追加的数据也遍历出来,只是部分。slice就没有这个问题,不会遍历追加的数据。map在遍历时动态修改了值,会打印出新值。切片也是这样,但是永远不会遍历追加的数据。 ```go s := []int{1, 2, 3} for i, v := range s { s = s[0:2] fmt.Println("i: ", i, "\tv: ", v) } fmt.Println(s) ``` 运行输出结果: ``` i: 0 v: 1 i: 1 v: 2 i: 2 v: 3 [1 2] ```
  • 评论了主题 下面这段代码很神奇
    下面2段代码输出结果一样 ```go s := []int{1, 2, 3} for i, v := range s { s = append(s, s[i]+3) fmt.Println("i: ", i, "\tv: ", v) } fmt.Println(s) ``` ```go s := make([]int, 3, 100) s[0], s[1], s[2] = 1, 2, 3 for i, v := range s { s = append(s, s[i]+3) fmt.Println("i: ", i, "\tv: ", v) } fmt.Println(s) ``` 运行输出结果: ``` i: 0 v: 1 i: 1 v: 2 i: 2 v: 3 [1 2 3 4 5 6] ```
  • 评论了主题 下面这段代码很神奇
    ```go m := map[int]string{ 1: "a", 2: "b", 3: "c", 4: "d", 5: "e", } for k, v := range m { m[k+5] = m[k] + m[k] fmt.Println("k: ", k, "\tv: ", v) } fmt.Println(m) ``` 运行输出结果: ``` k: 1 v: a k: 2 v: b k: 3 v: c k: 4 v: d k: 5 v: e k: 6 v: aa k: 7 v: bb k: 8 v: cc map[10:ee 11:aaaa 12:bbbb 1:a 2:b 6:aa 9:dd 8:cc 13:cccc 3:c 4:d 5:e 7:bb] ```
  • #22 @sunnyregion 不客气。
  • #17 @sunnyregion 你提交的我已经合并。 以下问题需注意: Pr需要你在GitHub发起,而不只是把代码提交到你Fork 后版本库。 提交代码注意本地git config user.email 配置,最好是GitHub账号邮箱。 每次修改一处提交一次,可以发起多个Pr。