for range在go中非常常用,可以遍历字符串,数组,切片,映射,管道。 for range 一般而言,for range遍历,有一个索引和一个值,这与需要变量的对象有关。 简单的认为一个是索引index,和一个value即可 desc := "我是marksugar" for index,value := range desc { fmt.Printf("%d %T %qn",index,v
初学者来说for循环可能会击溃很多人,因为网上找的python基础课程的for循环没有详细的介绍for循环的条件以及for循环后面定义的东西是什么意思。首先我先举一个常用的例子。 for i in range(1,10) : print i 上面这两条代码是用来在屏幕上打印1到9的。这里就不对range这个函数进行介绍了,大家可以去百度查一下。或者我之后的文章会介绍。 这里i是自己定义的一个变量i
使用Go语言经常会犯的错误。当我们遍历一个数组,如果用range获取变量保存到另一个数组或者slice时,会遇到令人困惑的问题。 func main() { slice := []int{1, 2, 3} var ptrSlice []*int for _, v := range slice { ptrSlice = append(ptrSlice, &v) } for _, v := r
遍历数组的同时修改数组元素,能否得到一个永远都不会停止的循环? func main() { s := []int{1, 2, 3} for _, v := range s { s = append(s, v) } fmt.Println(s) } 输出: [1 2 3 1 2 3] 发现上面代码并不会一直循环下去,说明在循环内改变了切片,但不影响循环次数。 原因分析 对于 for range 语句