go for range的一个测试

版权声明:微信公众号 java架构狮 欢迎转载 请注明出处 https://blog.csdn.net/AlbertFly/article/details/89670923
package main
import "fmt"
func main() {
	//这是我们使用range去求一个slice的和。使用数组跟这个很类似
	nums := []int{2, 3, 4}
	sum := 0
	//方式1
	for  num := range nums {
		sum += num
	}
	fmt.Println("sum:", sum)

	//方式2
	sum = 0
	for  _,num := range nums {
		sum += num
	}
	fmt.Println("sum:", sum)

	////在数组上使用range将传入index和值两个变量。上面那个例子我们不需要使用该元素的序号,所以我们使用空白符"_"省略了。有时侯我们确实需要知道它的索引。
	//for i, num := range nums {
	//	if num == 3 {
	//		fmt.Println("index:", i)
	//	}
	//}
	////range也可以用在map的键值对上。
	//kvs := map[string]string{"a": "apple", "b": "banana"}
	//for k, v := range kvs {
	//	fmt.Printf("%s -> %s\n", k, v)
	//}
	////range也可以用来枚举Unicode字符串。第一个参数是字符的索引,第二个是字符(Unicode的值)本身。
	//for i, c := range "go" {
	//	fmt.Println(i, c)
	//}
}

结果


sum: 3
sum: 9

for 对应的后面两个参数 第一个是key,索引值 对应 0,1,2 

所以第一个结果为 0+1+2=3 

第二个输出 对应的是value的值

2+3+4 =9 


 

猜你喜欢

转载自blog.csdn.net/AlbertFly/article/details/89670923