go - 不能在 Go 中使用 "go"作为变量名

标签 go

我觉得这有点奇怪,为什么这段代码不起作用?

  package main

  import "fmt"

  func main() {
     var i, j int = 1, 2
     k := 3
     c, python, go := true, false, false

     fmt.Println(i, j, k, c, python, go)
  }

抛出错误

   # command-line-arguments
   .\compile64.go:8:13: syntax error: unexpected go, expecting expression
   .\compile64.go:10:29: syntax error: unexpected go, expecting expression

但这有效!

   package main

   import "fmt"

   func main() {
      var i, j int = 1, 2
      k := 3
      c, python, goo := true, false, false

      fmt.Println(i, j, k, c, python, goo)
   }

“go”是Golang中的保留字吗?

最佳答案

是的,一个关键字:

break        default      func         interface    select
case         defer        go           map          struct
chan         else         goto         package      switch
const        fallthrough  if           range        type
continue     for          import       return       var

https://golang.org/ref/spec#Keywords

关于go - 不能在 Go 中使用 "go"作为变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48577024/

相关文章:

go - 为什么同样的值用两种方式转换,结果却不同呢?

sql - 如何设置 intervalstyle = iso_8601 然后在 golang 中运行选择查询

go - 尝试将 golang 中的值分配给类型指针的 slice 时遇到无效的内存地址

go - panic : runtime error: index out of range processing file

转到哈希表 : casting without conversion?

json - 您如何在Go中阅读嵌套的Json?

go - 我怎样才能让一个函数在 go 中随机返回 true 或 false

go - 如何保证一段代码执行不超过n次

go - 在golang中打开超时的PE文件

go - 将 Prometheus 部署到 Cloud Foundry