golang条件编译

  1. go build -tags 使用
  2. hello_r.go
//+build debug

package main

import "log"

func Hello() {
    log.Printf("Hello debug")
}

  • hello_d.go
//+build release

package main

import "log"

func Hello()  {
    log.Printf("Hello release")
}

  • main.go
//+build release debug

package main

func main() {
    Hello()
}

  • 分别执行
go build -tags debug
./hello
go build -tags release
./hello

查看结果区别

  1. 文件后缀

go/build将会忽略所有以下划线或者点开头的源文件