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

这篇博客介绍了Go语言中使用forrange遍历数组、切片、字符串、map及通道的基本用法,并通过示例代码展示了其遍历规则。在数组、切片和字符串中,forrange返回索引和值;在map中,返回键和值;在通道中,仅返回通道内的值。
摘要由CSDN通过智能技术生成

视频来源: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]int{1, 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 = []int{1, 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值