Go-实战之 Go Range 的坑


,在正常情况下,当然是一跑就知道错误了,但是一些业务场景下,是不能够本地测试的,此时避免这类错误就是很有必要的(发版会发到吐的)

有必要去记这些坑吗?在正常情况下,当然是一跑就知道错误了,再不济打断点也可以找到,但是一些业务场景下,是不能够本地测试的,此时避免这类错误就是很有必要的(发版会发到吐的( •̀ ω •́ )✧)

分不清索引和值

下列代码输出什么?

package main

func main() {
    x := []string{"a", "b", "c"}
    for v := range x {
        fmt.Print(v)
    }
}

是不是觉得是 abc

其实是答案 012

因为此处的 v 其实是索引值。

如果是要是 abc ,其代码应该是:

package main

func main() {
    x := []string{"a", "b", "c"}
    for _, v := range x {
        fmt.Print(v)     //输出 abc
    }
}

如果本文帮助到了你,帮我点个广告可以咩(o′┏▽┓`o)


文章作者: Anubis
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Anubis !
评论
  目录