出现该错误的原因时引入包的路径错误,go在引入包时有其自己的查找方式,如下:
在 GOPATH 模式下,执行 go build 或 go run 时,在 vendor 目录、GOPATH 目录、GOROOT 目录都可能存在依赖库(标准库、第三方库等),将依次按照如下的目录过程寻找引用的依赖:
在GOPATH目录下没有找到包,最后就会去GOROOT下查找,最终没有找到就会报错。
如下在GOPATH目录下,创建src/hello目录,在创建main.go和test.go两个源文件,内容如下:
package main
import "fmt"
import "unit4/src/hello/test"
func main() {
fmt.Println("Hello")
test.PrintTest()
}
package test
import "fmt"
func PrintTest(){
fmt.Println("test")
}
在运行时却报错了,如下:
由于包在管理文件时,文件必须要在独立的包下,所以兴建一个test目录,将test.go源文件移动到test包下,如下:
重构包后在需要的文件中引入test包import "unit4/src/hello/test"
。
可以看出,在到入包是只导入到了包目录,引用时也是基于包名引用的,因此源文件的名称没有作用。也就是说,test.go文件可以任意命名,因为在包管理下,其作用的主要是包名。
原文地址:https://blog.csdn.net/xwh3165037789/article/details/129846879
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_47480.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。