在引入成功后,我们回到 ./example/hello 目录下的 reverse.go 文件,新增一个用于 Demo 的方法:
...func Hello() string { return "煎鱼,你好!"}
再到 hello 项目中,新增调用:
package mainimport ( "fmt" "golang.org/x/example/hello/reverse")func main() { fmt.Println(reverse.String("Hello, 煎鱼")) fmt.Println(reverse.Hello())}
输出结果:
鱼煎 ,olleH煎鱼,你好
一切正常 。满足不添加 replace 的要求,也使用了 go.work,不用担心把 replace 不小心提交到 Git 仓库中 。
另外 Go 工作区中的项目在进行编译时,也是引用所配置好的工作区内的模块 。而不是单单只针对开发阶段的 go run,也可以在产线上去使用,编译成二进制去应用和部署 。
场景汇总我们已经对 Go 的工作区模式有了一定的了解,其使用场景聚焦在如下:
- 开发较大的产品,其项目存在着多个互相依赖的模块 。可以直接设置成一个工作区 。
- 开发第三方库(类似 SDK 库),需要对上游的模块新增新特性 。势必要在本地模块先引用做开发、测试、验证 。也可以直接使用工作区 。
但在实际应用中,我们会发现工作区模式的便利度,其实不太高 。可能依赖模块数量少时,还不如 replace 一把梭来得快 。
另外目前阶段的使用宣传还是做得比较弱的,前两天问了一圈,还真有一些同学不知道,也没有用过的 。
【快速掌握 Go 工作区模式】
推荐阅读
- 如何快速使用Docker部署我们的微服务
- 掌握流量抑制与风暴控制,让你的业务更上一层楼
- 常青藤扦插快速生根方法有哪些 常青藤扦插快速生根方法
- 剪刀剥玉米的小技巧太实用了,一扎一转,快速脱落,2分钟剥一盘
- 干香菇只用清水泡,香菇难泡开,大厨偷偷教我方法,快速泡发开
- 教你5秒内快速剥大蒜皮 怎么剥蒜皮又快又好
- 怎么快速融化肥皂 怎么快速融化肥皂块
- 怎么剥虾最快方法 生虾如何快速剥皮
- 怎么剥鹌鹑蛋又快又好 怎样快速剥鹌鹑蛋的做法窍门
- 怎么快速灭蟑螂简单方便 家里放一物绝对没蟑螂