七叶笔记 » golang编程 » golang的go build用法

golang的go build用法

▎介绍

最近再学习golang gin框架的时候,发现gin框架在编译的时候可以通过tag决定使用某种 json 解析,如系统自带 encoding /json或者jsoniter来解析json。

具体编译方式是:

  1. go build main.go 使用系统自带的encoding/json

  2. go build -tag=jsoniter main.go 使用jsoniter库

翻看 源码 发现具体如下:

通过上面的两张图片可以发现package上面有一行注释:

// +build

▎学习

借此机会学习一下go build的用法和编译的时候如何设置规则:

  1. 到需要设置build的时,在文件的最顶端写上+build 标记,注意与package需要有一行空格

  2. build可以使自定义规则 ‘xxxx’,如上面gin框架的jsoniter

  3. build还有系统规则,如:

  4. build多规则的使用,当以” “空格分隔则为或的关系,当以”,”分隔则为与的关系,

  5. 如果在规则名前加上”!”则表示非的关系

  6. 同时build也支持文件后缀选择编译规则,如源码中的注释:

▎总结

因此对于go build -tag在我们需要兼容或者多平台限制的限制时是一个很实用的方式,因此在这里介绍给大家。 其实在我们学习Go语言时阅读源码是我们一种最好的学习方式。一些愚见期待大家多提供意件。

相关文章