GO语言基础语法之Range(第十八天)

GO中的关键字Range

  • for循环中迭代数组(array)、切片(slice)、链表(channel)、集合(map)的元素
  • 在数组和切片中它返回元素的索引值(index)
  • 在Map中返回 key-value 对的 key 值
  • 通道(channel)只返回通道内的值
package main
import "fmt"
func main() {
	//这是我们使用range去求一个slice的和。使用数组跟这个很类似
	nums := []int{2, 3, 4}
	sum := 0
	for _, num := range nums {     //s使用了匿名占位符,切片中 _ 对应的 切片的index
		sum += num
	}
	fmt.Println("sum:", sum)
	for key, value := range nums {
		fmt.Printf("key:%d  value:%d\n", key, value)
	}

	//range也可以用在map的键值对上。
	oTmap := map[string]string{"first": "I", "second":"love", "Three":"china"}
	for k, v := range oTmap {
		fmt.Printf("%s -> %s\n", k, v)
	}
	//第一个参数是字符的索引,第二个是字符AscII本身。
	for i, c := range "abcd" {
		fmt.Println(i, c)
	}
}
sum: 9
key:0  value:2
key:1  value:3
key:2  value:4
first -> I
second -> love
Three -> china
0 97
1 98
2 99
3 100

Process finished with exit code 0

发布了205 篇原创文章 · 获赞 47 · 访问量 26万+

猜你喜欢

转载自blog.csdn.net/qq_32744005/article/details/105232775