1. 设置环境
    查看golang环境命令:go env
    设置为go的mod包管理开启模式:go env -w GO111MODULE=on
    引用本地包时出现错误go package is not in std error(goroot)
  2. 解决方式一
    初始化项目名称go mod init com.xxx
    不以带点的这种方式命名会报malformed module path "xx": missing dot in first path element错误
    执行go mod tidy
    关键的一步是在引用的文件夹里只保留.go文件,其他的mod等等都删除,否则go会认为不是同一个项目,导致引用找不到
    然后在import中引用"com.xxx/directory"即可
  3. 解决方式二
    这种解决方式是将文件夹设置成go模块,命令行进入该文件夹,初始化该模块:go mod init greetings
    退回到项目路径,然后将不同模块引入同一个go项目中,使用命令replace
    go mod edit -replace modprojectname/greetings=./greetings
    import后直接运行即可
    image.png
    最后真心吐槽go,这个mod管理各种博客垃圾说的不明不白,真是劝退真心想入的
引用https://pjchender.dev/golang/modules-and-packages/#%E4%BD%BF%...
https://github.com/XanderShum/Blog/blob/master/go_module%E4%BD%BF%E7%94%A8%E5%8F%8A%E6%9C%AC%E5%9C%B0%E5%8C%85%E5%AF%BC%E5%85%A5.md
https://blog.csdn.net/General_zy/article/details/125036528

water_hai
1 声望0 粉丝