需求分析
加入现在我们把一个大的项目分成了两个项目,一个项目是基础模块,用来实现项目的公用功能。第二个项目要依赖第一个项目,注意:这里提到的是项目,而不是模块。解决方法有二:
- 把第一个项目创建好,提交到github,第二个项目使用 go get 下载。
- 第二个就是我们今天提到的使用Golang1.18里面的新功能workspace。
第一种方法有一个缺陷就是,如果我们频繁的修改代码,那么第二个项目就要不停的更新,否则版本就不是最新的。而第二个方法就没有这个问题,项目可以在本地依赖。
注意:方法二功能需要Go版本是1.18以上!!!
实现步骤
package common
import "fmt"
func Dosomething() {
fmt.Println("do something...")
}
package main
import "common"
func main() {
common.Dosomething()
}
// package common is not in GOROOT
go work init .\common\
go 1.18
use .\common\
go work use .\myproject_1\
go 1.18
use (
./myproject_1
.\common\
)
[Running] go run "e:\golang开发学习\myworkspace\myproject_1\main.go"
do something...
[Done] exited with code=0 in 2.632 seconds