原创

Go如何打类似于java jar那种依赖包

Go中也有很多通过命令来完成辅助开发的工具,就像Java中jdk中的java javac javap等指令那种命令工具。

比如有go build xxx命令 , go clean xxx命令, go run xxx命令......

Java中打jar包可以通过IDEA集成开发环境图形界面化直接打包,也可以使用jar命令在命令行操作中(使用不同的参数)进行打包。

与java jar命令打包对应的Go的命令是 go install,这个go install 也类似于 maven 中的install,它会把打成的.a后缀名结尾的工具包文件

放入${GOPATH} /pkg下。

具体使用如下示例:

注意:使用go install之前必须在操作系统的环境变量中定义${GOPATH}这个环境变量

1.查看我们当前的操作系统中环境变量有没有定义GOPATH。

2.查看${GOPATH}目录下是否有src,pkg,bin目录,并且保证我们的代码是在src下的。

3.打开一个命令行窗口,比如windows是cmd打开一个dos窗口。

4.我们在最开始之前已经把go的安装包下的包含Go操作指令的bin目录配置在了PATH环境变量中,所以此时我们可以不用管目录直接使用go install 命令。

5. 例如目录结构如下:
com.mashibing.gotest
--mygopackge
MyUtil.go

记住一点,此时MyUtil中不能是main包,也不能有main函数,否则打不出来.a结尾的依赖包。
此时编写执行命令:
go install com/mashibing/gotest/mygopackge

此指令运行时,首先会去找${GOPATH}目录
然后把后面的com/mashibing/gotest/mygopackge拼接上去
也就是${GOPATH}/com/mashibing/gotest/mygopackge
然后会把${GOPATH}/com/mashibing/gotest/mygopackge下的所有.go文件,比如MyUtil.go全部打包压缩进mygopackge.a文件
最后会把mygopackage.a放入${GOPATH}/pkg/${标示操作系统的一个名字(这个不重要)}/com/mashibing/gotest/下。
最终.a文件存储的结构是这样的:
${GOPATH}/pkg/com/mashibing/gotest/mygopackge.a

本文链接地址:http://www.ysxbohui.com/article/233

正文到此结束