zl程序教程

您现在的位置是:首页 >  后端

当前栏目

go语言之range详解编程语言

Go语言编程语言 详解 range
2023-06-13 09:11:54 时间
Go 语言范围(Range)

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

package main 

import "fmt" 

func main() { 

 //这是我们使用range去求一个slice的和。使用数组跟这个很类似 

 nums := []int{2, 3, 4} 

 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: 9 

index: 1 

a - apple 

b - banana 

0 103 

1 111 

Go Range 简单循环:

package main 

import "fmt" 

func main(){ 

 nums := []int{1,2,3,4}; 

 length := 0; 

 for range nums { 

 length++; 

 fmt.Println( length); 

循环键值对

package main 

import "fmt" 

func main(){ 

 nums := []int{1,2,3,4} 

 for i,num := range nums { 

 fmt.Printf("索引是%d,长度是%d/n",i, num) 

输出结果为:

索引是0,长度是1 

索引是1,长度是2 

索引是2,长度是3 

索引是3,长度是4 

通过 range 获取参数列表:

package main 

import ( 

 "fmt" 

 "os" 

func main() { 

 fmt.Println(len(os.Args)) 

 for _, arg := range os.Args { 

 fmt.Println(arg) 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/20923.html

cgo