golang的go build用法

Posted Go语言小白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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库

翻看源码发现具体如下:

golang的go build用法

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

// +build 


▎学习

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

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

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

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

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

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

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


▎总结

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


以上是关于golang的go build用法的主要内容,如果未能解决你的问题,请参考以下文章

Golang sync.WaitGroup 简介与用法

mysql 里面有go的用法吗

GO_05_2:Golang 中 panicrecoverdefer 的用法

golang json用法讲解

golang插件

golang profile用法