登录
首页 >  Golang >  Go问答

无法命名包“文档”

来源:stackoverflow

时间:2024-04-09 15:33:32 484浏览 收藏

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《无法命名包“文档”》,聊聊,我们一起来看看吧!

问题内容

我想我错过了文档中的一些内容。您能否指出正确的文档,或者如果还有其他内容,请告诉我这是什么。

基本上,我创建了一个名为 foo 的目录。在 foo 内部,我创建了另一个子目录 documentation。在 main.go 中,我尝试调用函数 saysomething` ,但失败并显示 main.go:3:8: 构建约束排除 /root/foo/documentation 中的所有 go 文件。然后我将 documentation 更改为 documentationfoo 并且一切正常。

感觉“文档”是 go 中的保留词,也许我只是在这里遗漏了一些明显的东西。请帮我看看这是什么。

root@personal:~/foo# go run main.go
main.go:3:8: build constraints exclude all Go files in /root/foo/documentation
root@personal:~/foo# vi main.go
root@personal:~/foo# mv documentation documentationFoo
root@personal:~/foo# vi documentationFoo/documentation.go
root@personal:~/foo# go run main.go
foo
root@personal:~/foo# git diff .
diff --git a/documentation/documentation.go b/documentation/documentation.go
deleted file mode 100644
index 3c325c6..0000000
--- a/documentation/documentation.go
+++ /dev/null
@@ -1,7 +0,0 @@
-package documentation
-
-import "fmt"
-
-func SaySomething() {
-       fmt.Println("foo")
-}
diff --git a/main.go b/main.go
index 3e57e59..9b76d75 100644
--- a/main.go
+++ b/main.go
@@ -1,7 +1,7 @@
 package main

-import "./documentation"
+import "./documentationFoo"

 func main() {
-       documentation.SaySomething()
+       documentationFoo.SaySomething()
 }

解决方案


包名称 documentation 不是由语言保留的,但构建工具排除包名称为 documentation 的文件。

以下是 go/build Import function 的文档:

在包含包的目录中,.go、.c、.h 和 .s 文件被视为包的一部分,除了:

  • 包文档中的.go文件
  • 以 _ 或 . 开头的文件。 (可能是编辑临时文件)
  • 上下文不满足构建约束的文件

选择不同的包名称。

到这里,我们也就讲完了《无法命名包“文档”》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

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