golang 条件编译

在多平台下条件编译是很有必要的,具体做法直接看代码:

--------------main.go-------------

package main

// import (
// )

func main() {
print()
}

--------------pkg_imp1.go-------------

//+build imp1

package main

import (
"fmt"
)

func print() {
fmt.Println("imp1")
}

--------------pkg_imp2.go-------------

//+build imp2

package main

import (
"fmt"
)

func print() {
fmt.Println("imp2")
}

 

编译运行结果:

hh-mac:buildtag hh$ go build -tags "imp1" -o imp1
hh-mac:buildtag hh$ ./imp1
imp1
hh-mac:buildtag hh$ go build -tags "imp2" -o imp2
hh-mac:buildtag hh$ ./imp2
imp2

总结:

只要接口相同,在编译时使用tag即可指定具体实现

posted @ 2016-10-08 14:57  chukuang2004  阅读(1879)  评论(0编辑  收藏  举报