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即可指定具體實現


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM