美文网首页
golang条件编译方式

golang条件编译方式

作者: 杀破魂 | 来源:发表于2018-04-24 11:05 被阅读378次

    编译标签方式

    1. 例如:
    // +build darwin freebsd netbsd openbsd
    

    在源码头部放置条件编译标签,将限制文件仅能在BSD系统进行编译

    1. 当一个文件有多个编译标签,总的限制是单个限制的逻辑与,例如:
    // +build linux darwin
    // +build 386
    

    限制只能在linux/386或darwin/386平台上编译

    1. 条件编译规则:

      • 空格分隔符被作为条件编译标签逻辑“或”的选项值
      • 每个条件选项用逗号隔开形成逻辑“与”
      • 每个条件项由字母数字组成,在前面加“!”表示否定
    2. 注意:

      编译标签和包声明之间要有换行符

      // +build !linux
      
      package mypkg // correct
      

    文件后缀方式

    假如源文件使用_$GOOS.go方式的后缀,将在对应的平台上编译。

    同样可以用$GOARCH.go,或者$Missing superscript or subscript argumentGOOS_$GOARCH.g 两者结合的后缀,备用使用 _$GOARCH_$GOOS.go

    例如:

    mypkg_freebsd_arm.go // only builds on freebsd/arm systems
    mypkg_plan9.go       // only builds on plan9
    

    相关文章

      网友评论

          本文标题:golang条件编译方式

          本文链接:https://www.haomeiwen.com/subject/wemdlftx.html