登录
首页 >  Golang >  Go问答

"文件名在 Go 中是否有限制?"

来源:stackoverflow

时间:2024-03-20 15:54:31 494浏览 收藏

在 Go 中,文件名必须以数字、字母、句点、下划线、正斜杠或 Unicode 字符开头。与同一文件夹中的其他文件相比,文件名必须唯一(不区分大小写)。此限制旨在防止输入文件名的错误,并确保 Go 编译器能够正确加载和构建包。

问题内容

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

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

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

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


解决方案


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

  • 09
  • AZ
  • AZ
  • .(句点)
  • _(下划线)
  • /(正斜杠)
  • >= utf8.RuneSelf(字符 0x80 或更高)
  • 同一文件夹中的两个或多个文件不能命名相同(不区分大小写的匹配)

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

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

举个例子,如果您尝试使用 a[id].go 作为文件名,那么您应该可以正常使用。

好了,本文到此结束,带大家了解了《"文件名在 Go 中是否有限制?"》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>