最近在开发过程中遇到一个比较在编码上无解的问题,最终通过条件编译得到一个比较满意的方案。对于Go的条件编译,可能很多人都了解,甚至不知道。Go通过在行注释的前面编写如下代码来实现条件编译。 1// +build 条件编译的指令可能出现在任何源代码中,不止是*.go文件,可能是go汇编文件。无论是何种源文件,条件编译指令一定都出现在文件的顶部,并且在空行或者其他行注释之前。所以条件编译指令也必须在package语句之前。 编译规则 可以将 // +build 后面的内容当成一个表达式。当表达式返回true时,当前文件参与编译,反之不参与编译。 多个片段之间的空格表示它们之间是OR的关系。如下,表示GOOS值是linux或 …
阅读更多