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

--------------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即可指定具体实现

相关文章:

  • 2022-01-05
  • 2022-02-07
  • 2021-08-13
  • 2021-08-08
  • 2022-02-07
猜你喜欢
  • 2021-09-07
  • 2018-05-17
  • 2022-02-07
相关资源
相似解决方案