Go基础:012.Range

69 阅读1分钟

概述

Go 语言中 range 关键字用于 for 循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素。在数组和切片中它返回元素的索引和索引对应的值,在集合中返回 key-value 对。

for 循环的 range 格式可以对 slice、map、数组、字符串等进行迭代循环。

示例

package main

import "fmt"

func main() {
	//1. 遍历数组
	arr1 := [3]int{1, 2, 3}
	for i, v := range arr1 {
		fmt.Printf("(%d,%d)", i, v)
	}
	fmt.Println()

	//2. 遍历slice
	slice1 := []string{"red", "green", "blue"}
	for i, v := range slice1 {
		fmt.Printf("(%d,%s)", i, v)
	}
	fmt.Println()

	//3. 遍历map
	map1 := make(map[string]string)
	map1["name"] = "jim"
	map1["age"] = "20"
	map1["sex"] = "male"
	for k, v := range map1 {
		fmt.Printf("(%s,%s)", k, v)
	}
	fmt.Println()

	//4. 遍历字符串
	str1 := "hello"
	for i, v := range str1 {
		fmt.Printf("(%d,%c)", i, v)
	}
	
	/* 
        (0,1)(1,2)(2,3)
        (0,red)(1,green)(2,blue)
        (name,jim)(age,20)(sex,male)
        (0,h)(1,e)(2,l)(3,l)(4,o)
	*/
}