视频来源:B站《golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]》
一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!
附上汇总贴:Go语言自学系列 | 汇总_COCOgsta的博客-CSDN博客
Go语言中可以使用for range遍历数组、切片、字符串、map 及通道(channel)。 通过for range遍历的返回值有以下规律:
- 数组、切片、字符串返回索引和值。
- map返回键和值。
- 通道(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