自学go语言package引入自定义包无法找到?


正在自学go语言,今天学到package包,如图,自定义了一个包,但是引入一直提示包不存在,希望路过的大神指正一下,到底是哪里的问题,跪谢!

阅读 2.5k
3 个回答

简而言之,因为 Go 的 module 模式不让你这么干,你没有真正理解 module 的细节。具体你可以去了解一下 Go 的 module,这里不展开,只说一下解决方案。

首先,在你的项目根目录下初始化 module

go mod init mymod

这里 mymod 就是你为你自己这个项目取的 module 名,你也可以换成别的。
然后,你就可以在代码里使用 import "mymod/calc" 来引入你的 calc 包了:

package main

import (
    "fmt"

    "mymod/calc"
)

func main() {
    fmt.Println(calc.Add2(1, 2, 3, 4))
}

改完后,先执行一下 go mod tidy 命令,然后再执行 go run 21.go,看一下结果。

$$ 缺少对应的包..那就导入嘛 $$

在命令行输入以下命令

go get xxxxxx
#xxxx指你需要的包的地址,一般是在https://pkg.go.dev/ 上面搜索

设置了GOPATH变量没有?GOPATH变量设置了应该没有问题的,你这个引入方式是正确的,看你的报错是没正确设置GOPATH,calc包跑到go安装目录的src里面去找了。
用go env看下GOPATH的内容,看下和你图上src的父目录是不是一致。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题