117.info
人生若只如初见

GO的range具体使用

在Go语言中,range关键字用于迭代数组(slice)、字符串、映射(map)、通道(channel)或者是自定义的数据结构。使用range可以更方便地遍历这些数据结构。

使用range的具体语法为:

for index, value := range data {
// 循环体
}
  • index代表当前迭代的索引(下标),如果不需要可以使用下划线(_)忽略。

  • value代表当前迭代的值。

data可以是数组(slice)、字符串、映射(map)或者通道(channel)。具体效果如下:

  1. 迭代数组(slice)或字符串:
arr := []int{1, 2, 3, 4, 5}
for index, value := range arr {
fmt.Printf("index: %d, value: %d\n", index, value)
}

输出:

index: 0, value: 1
index: 1, value: 2
index: 2, value: 3
index: 3, value: 4
index: 4, value: 5
  1. 迭代映射(map):
m := map[string]int{"a": 1, "b": 2, "c": 3}
for key, value := range m {
fmt.Printf("key: %s, value: %d\n", key, value)
}

输出:

key: a, value: 1
key: b, value: 2
key: c, value: 3
  1. 迭代通道(channel):
ch := make(chan int)
go func() {
for i := 1; i <= 5; i++ {
ch <- i
}
close(ch)
}()
for value := range ch {
fmt.Printf("value: %d\n", value)
}

输出:

value: 1
value: 2
value: 3
value: 4
value: 5

此外,range还可以用于迭代字符串,对于字符串,range会按照Unicode字符迭代。例如:

str := "Hello, 世界"
for index, value := range str {
fmt.Printf("index: %d, value: %c\n", index, value)
}

输出:

index: 0, value: H
index: 1, value: e
index: 2, value: l
index: 3, value: l
index: 4, value: o
index: 5, value: ,
index: 6, value:
index: 7, value: 世
index: 10, value: 界

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe9fdAzsLBg5XDFU.html

推荐文章

  • 如何确保go打包linux成功

    要确保Golang程序在Linux上成功打包,请按照以下步骤操作: 确保已安装Golang:首先,请确保已在您的Linux系统上安装了Golang。您可以通过运行以下命令来检查是否...

  • go打包linux需什么环境

    要在Linux环境下打包Go项目,您需要设置正确的Go环境变量,并确保已经安装了Go语言环境。以下是详细的步骤和所需环境:
    Go环境设置 安装Go语言环境:从Go官...

  • 在go里打包linux的方法

    在 Go 语言中,你可以使用交叉编译(cross-compilation)来为不同的操作系统和架构构建可执行文件。以下是为 Linux 系统打包 Go 程序的步骤: 确保你的开发环境已...

  • 怎样在go中打包linux应用

    在 Go 中,您可以使用以下步骤将应用程序打包为 Linux 二进制文件: 首先,确保您的 Go 程序已经完成了开发和测试。 在项目根目录下创建一个 go.mod 文件(如果尚...

  • Position属性之relative用法

    Position属性的relative值表示元素的位置相对于其正常位置进行偏移。它会根据元素的原始位置在文档流中进行相对的移动,但不会影响其他元素的布局。
    相对定...

  • jQuery中bind的用法简单介绍

    jQuery中的bind()方法用于将一个处理函数绑定到指定的元素上,该处理函数将在特定事件触发时被调用。
    bind()方法的基本语法如下:
    $(selector).bind(e...

  • shell脚本中 /dev/null 的用法小结

    在Shell脚本中,/dev/null是一个特殊的设备文件,它被称为“黑洞”,可以用于丢弃不需要的输出。以下是/dev/null的用法小结: 丢弃输出:可以使用/dev/null将不需...

  • Java对象数组定义与用法详解

    Java对象数组是一种用于存储多个相同类型的对象的数据结构。它可以按照一定的顺序存储和访问对象,并且可以根据需要进行动态调整大小。
    要定义一个对象数组...