有没有一种方法可以从pkg/
或编译的二进制文件中获取Golang版本号?我想要在更改Golang版本时自动化删除$GOPATH/pkg
文件夹。
有没有一种方法可以从pkg/
或编译的二进制文件中获取Golang版本号?我想要在更改Golang版本时自动化删除$GOPATH/pkg
文件夹。
没关系,找到答案了。
[ `strings $pkg_a_file | grep 'go object' | head -n 1 | cut -f 5 -d ' '` != `go version | cut -f 3 -d ' '` ] && \
rm -rf $GOPATH/pkg
strings $pkg_a_file | grep 'go object' | head -n 1 | cut -f 5 -d ' '
这部分将会显示类似于 go1.6.2
的内容。
pkg_a_file
可以是以下形式之一:
PKG_OS_ARCH=`go version | cut -d ' ' -f 4 | tr '/' '_'`
pkg_a_file=$GOPATH/pkg/$PKG_OS_ARCH/gitlab.com/kokizzu/gokil/A.a
外部参考:http://kokizzu.blogspot.co.id/2016/06/solution-for-golang-slow-compile.html
这篇文章介绍了一些解决Golang编译速度慢的方法。如果你使用Golang开发,那么这些技巧可能会对你有所帮助。其中包括使用SSD硬盘、添加缓存、升级Golang版本等等。$ strings compiled_binary | grep '^go1'
go1.17.4
strings $pkg_a_file | grep 'Go cmd/compile'