在 Go 语言中,下划线 _
是一个特殊的标识符,被称为 "空白标识符" 或 "匿名变量"。它有几个常见的用途:
1. 引入包但不使用
在Go语言中,如果我们想导入一个包,但没有使用其中的任何函数、变量或类型,就会出现编译错误。但我们有需要使用这个包的init
函数,这时,我们可以使用_
来忽略这个包。示例代码如下:
import _ "fmt"
在上面的代码中,_ "fmt"
表示引入fmt
包,但我们并不打算在代码中直接使用这个包的其他部分。
2. 占位符/忽略值
对于函数返回的结果,如果我们不关心其中的某些值,那就可以使用_
来作为占位符。示例代码如下:
_, err := io.Copy(dst, src)
在上面的代码中,我们不关心Copy
函数返回的第一个值 (字节数),只关心第二个值 (error)。
3. For range 循环中忽略键或值
在使用range
去遍历一个数组,切片,通道或者map
,此时如果我们不需要关心元素的索引,那就可以使用_
来忽略索引。示例代码如下:
for _, value := range array {
fmt.Println(value)
}
在上述代码中,我们只关心值,而不关心索引,所以使用了_
来忽略索引。
声明:本作品采用署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)[1]进行许可,使用时请注明出处。 Author: mengbin[2] blog: mengbin[3] Github: mengbin92[4] cnblogs: 恋水无意[5] 腾讯云开发者社区:孟斯特[6]
References
[1]
署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0): https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh
[2]
mengbin: mengbin1992@outlook.com
[3]
mengbin: https://mengbin.top
[4]
mengbin92: https://mengbin92.github.io/
[5]
恋水无意: https://www.cnblogs.com/lianshuiwuyi/
[6]
孟斯特: https://cloud.tencent.com/developer/user/6649301