Go 有文件名限制吗?

sty*_*fle 4 filenames go

我创建了一个带有方括号的文件,[id].go但我无法构建它。

当我运行时go build "[id].go",我看到以下内容:

无法加载包:包主:无效的输入文件名“[id].go”

Go文件名有限制吗?具体来说,什么是不允许的?如果有,请提供文件。

mko*_*iva 6

在撰写本文时,Go 文件必须以以下之一开头:

  • 0 通过 9
  • a 通过 z
  • A 通过 Z
  • . (时期)
  • _ (下划线)
  • / (正斜杠)
  • >= utf8.RuneSelf (字符 0x80 或更高)
  • 同一文件夹中的两个或多个文件不能命名为相等(不区分大小写匹配)

https://github.com/golang/go/blob/993ec7f6cdaeb38b88091f42d6369d408dcb894b/src/cmd/go/internal/load/pkg.go#L1826-L1835

为保守起见,我们拒绝几乎所有以非字母数字 ASCII 开头的 arg。

例如,如果您尝试a[id].go将文件名作为文件名,您应该很高兴。