go - 不能使用 _ 作为值

标签 go

关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

1年前关闭。




Improve this question




我看到一段代码用于打印参数中传递的值:

package main

import "fmt"
import "os"

func main() {
  for _, val := range os.Args[1:] {
     fmt.Printf("%d %s \n", _ , val)
  }
}
原程序有注释_持有索引但没有打印它。当我尝试打印索引时,出现以下错误:./main.go:8:16: cannot use _ as value这里有什么问题?

最佳答案

_(下划线)在 Golang 中被称为 Blank Identifier并且它的值(value)不能被使用(它没有任何值(value))。
Go 不允许你有一个未使用的变量,因此,原始程序使用了 _删除值并成功编译程序。使用i而不是 _并运行程序。

package main

import "fmt"
import "os"

func main() {
  for i, val := range os.Args[1:] {
     fmt.Printf("%d %s \n", i , val)
  }
}

关于go - 不能使用 _ 作为值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62742178/

相关文章:

amazon-web-services - 如何在Go AWS Lambda函数中访问参数

go - 当 HTTP 客户端向不可用的 URL 发出请求时如何捕捉 panic ?

rest - 当某些字段为只读而其他字段可为空时,如何使用 Golang 结构在 API 中执行 CRUD?

go - 我不了解此处的评估规则

http - 服务器认为所有请求都有 r.Method "GET"

go - 如何在for循环中使用两个initStmt?

go - 使用 Go 确定进程/程序是否已终止

go - 如何在 Gorm 中模仿联合类型?

sockets - 在 Golang 中,如何接收套接字绑定(bind)到特定地址/端口的多播数据包?

linux - 如何将名称 FUNCTION 放宽为变量