登录
首页 >  Golang >  Go问答

go 自定义包引入,报错包找不到的问题

来源:SegmentFault

时间:2023-02-24 18:27:11 157浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《go 自定义包引入,报错包找不到的问题》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下go、goland、后端,希望所有认真读完的童鞋们,都有实质性的提高。

问题内容

go 初学者,在导入自定义包的时候遇到问题,在运行go build main.go 命令的时候报错包找不到,报错信息如下:

E:\Code\goproject>go build main.go
build command-line-arguments: cannot find module for path _/E_/Code/goproject/learn1

详细描述如下:

目录结构:

image.png

在main.go文件中想使用learn1、show2文件中定义的包,引入方式如上面的截图中的内容:

import (
   "fmt"
 "./learn1"
 "./show2"
)

learn1和 show2中的文件内容:

learn1

package learn1
import "fmt"
func init()  {
   fmt.Print("learn1n")
}
func Learn1()  {
   
}

show2

package show2
import "fmt"
func init()  {
   fmt.Print("show2n")
}
func Show2()  {
   
}

请问我这样引入的问题在哪里呢?在网上查也是可以这样相对路径的引入方式,IDE也没报错。

正确答案

首先,你这个写法不够规范,看一下你的go版本,从go1.11开始modules就开始支持了,现在都go1.16了,但是看你的代码,还在使用gopath的方式。

找到你的项目目录,执行 go mod init xxx,这个xxx你可以起一个你喜欢的名字,这个操作是给项目制定modules,xxx 是modules的root

然后,你需要修改import的方式,替换成 import xxx/learn1 这种形式。这是标准的go的URL导入方式。

你再编译执行试试看

以上就是《go 自定义包引入,报错包找不到的问题》的详细内容,更多关于golang的资料请关注golang学习网公众号!

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