Golang的导包问题(go mod_ goroot_ gopath)

不同的go 版本导包方式各不相同:
:::info
go(老版本):导包会根据配置的环境变量goroot 或 gopath,在其路径下的src文件夹下去查找,同时要求go的project需要在gopath的src文件夹下创建,十分不灵活。
go(新版本):可以使用go mod init (module)来生成go.mod文件,来完成灵活导包。
:::


举个example:

  1. 首先,需要检查是否开启 go mod模式,GO111MODULE=on,就可以使用go语言自带的mod来管理自己开发的项目的依赖,从而可以摆脱传统的必须把依赖的模块放在GOROOT或者GOPATH下的src,pkg等目录下的方式。
  2. 可以通过调用cmd窗口,键入go env命令来检查

image.png
值得注意的是,新版本的go默认开启go mod模式)

  1. 接下来,在VScode上创建一个项目,项目名称为MyDemo。此项目下有两个Module,分别为moduleA和moduleB。我们可以在项目的顶层文件夹的”根路径“下使用如下命令,可以将此项目视为一个巨大的package,用一个go.mod进行管理:
go mod init MyDemo

项目工程结构图

  1. 项目结构中的文件代码如下:
package main

import (
    "MyDemo/moduleB"
    "fmt"
)

func main() {
    moduleB.New()
    fmt.Println("main")
}

package moduleB

import "fmt"

func New() {
	fmt.Println("moduleB.New")
}

  1. 运行测试:打开集成终端.

image.png
键入go run ./main.go
image.png
可见,运行成功!

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值