美文网首页
【Go】条件编译

【Go】条件编译

作者: 如雨随行2020 | 来源:发表于2022-11-19 16:44 被阅读0次

条件编译

在文件开始的位置package语句之前,使用// +build可以添加编译标签,以满足不同场景不同编译的需求

/a/hello_dev.go

// +build dev

package a

import "fmt"

func Hello() {
    fmt.Println("hello dev")
}

/a/hello_www.go

// +build www

package a

import "fmt"

func Hello() {
    fmt.Println("hello www")
}

/main.go

package main

import "lg/a"

func main() {
    a.Hello()
}

编译

go build -tags dev

Goland设置

设置tags,避免编译器报错

image-20221120162911132

指定tags运行

image-20221120163046335

其他

  • 文件名以_linux结尾,表示要设置linux环境才能编译(windows以及darwin亦是如此)

  • 多标签:一个源码文件可以包含多个构建标签。构建标签遵循以下三个原则:

    1. 空格隔开的选项是或(OR)的关系
    2. 逗号隔开的选项是与(AND)的关系
    3. 每个选项由字母和数字组成。如果前面加上!,则表示反义
  • //go:build是 Go 1.17 中引入的新条件编译指令格式。它旨在替换// +build

    • 为何要采用新的格式呢?对比一下新旧格式的区别就知道了:

    • //go:build linux && amd64 || darwin
      // +build linux,amd64 darwin
      

相关文章

  • liteide 创建 GO 项目

    前置条件:安装 GO的编译工具 开始新建GO项目。 文件 --》新建image.png 选择 “Go1 Comma...

  • Go语言之条件编译

    原文转自本人公众号“灰子学技术”,原文链接:https://mp.weixin.qq.com/s/iaxXuFKG...

  • go-day1

    Go 命令 go build :编译Go程序 go build -o "xx.exe" :编译成xx.exe文件 ...

  • 交叉编译

    使用go的交叉编译 最后使用go build windows_fping.go 编译出.exe可执行文件 如果编译...

  • Golang中的常用命令

    Go命令行有常用的这几个命令: go build 编译包和依赖 go run 编译和运行go程序 go insta...

  • 使用 dlv 和 gdb 调试go程序

    编译构建go程序 禁止优化go build -gcflags "-N -l" ... 查看详细的编译命令go bu...

  • Go学习笔记

    . 运行GO 编译go源文件go build main.go 执行编译好的文件 (可以再没有go开发环境的设备上运...

  • 2 Go安装和常用工具

    一、Go安装 Go定位为系统级别的编程语言,类似C的gcc编译器,Go提供编译器的安装,Go编码完成后通过编译器生...

  • [译] Go语言如何使用条件编译

    当开发需要依赖底层平台或处理器体系特性的Go包时,提供对应的特定实现是非常有必要的。 Go没有预处理,没有宏定义系...

  • go使用build tags实现条件编译

    在C/C++中可以通过宏定义实现条件编译,比如在不同平台的机器上,调用不同的函数,或者通过编译是传递参数,调用不同...

网友评论

      本文标题:【Go】条件编译

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