Go语言自学系列 | golang for range循环

Posted COCOgsta

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言自学系列 | golang for range循环相关的知识,希望对你有一定的参考价值。

视频来源:B站《golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]》

一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:Go语言自学系列 | 汇总_COCOgsta的博客-CSDN博客


Go语言中可以使用for range遍历数组、切片、字符串、map 及通道(channel)。 通过for range遍历的返回值有以下规律:

  1. 数组、切片、字符串返回索引和值。
  2. map返回键和值。
  3. 通道(channel)只返回通道内的值。

go语言for range实例

循环数组

package main

import "fmt"

func f() 
    var a = [5]int1, 2, 3, 4, 5
    for i, v := range a 
        fmt.Printf("i: %d, v: %v\\n", i, v)
    


func main() 
    f()

运行结果

[Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go"
i: 0, v: 1
i: 1, v: 2
i: 2, v: 3
i: 3, v: 4
i: 4, v: 5

循环字符串

package main

import "fmt"

func f() 
    var s = "多课网,go教程"
    for i, v := range s 
        fmt.Printf("i: %d, v: %c\\n", i, v)
    
    // %c 按照字符输出


func main() 
    f()

运行结果

[Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go"
i: 0, v: 多
i: 3, v: 课
i: 6, v: 网
i: 9, v: ,
i: 12, v: g
i: 13, v: o
i: 14, v: 教
i: 17, v: 程

循环切片

package main

import "fmt"

func f() 
    var s = []int1, 2, 3, 4, 5
    for i, v := range s 
        fmt.Printf("i, %d, v: %v\\n", i, v)
    


func main() 
    f()

运行结果

[Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go"
i, 0, v: 1
i, 1, v: 2
i, 2, v: 3
i, 3, v: 4
i, 4, v: 5

循环map

package main

import "fmt"

func f() 
    m := make(map[string]string)
    m["name"] = "tom"
    m["age"] = "20"
    m["email"] = "tom@gmail.com"
    for k, v := range m 
        fmt.Printf("k: %v, v: %v\\n", k, v)
    


func main() 
    f()

运行结果

[Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go"
k: age, v: 20
k: email, v: tom@gmail.com
k: name, v: tom

以上是关于Go语言自学系列 | golang for range循环的主要内容,如果未能解决你的问题,请参考以下文章

Go语言自学系列 | golang包

Go语言自学系列 | golang数组

Go语言自学系列 | golang标准库bytes

Go语言自学系列 | golang高阶函数

Go语言自学系列 | golang构造函数

Go语言自学系列 | 如何编写golang代码