一句话总结:通过条件编译解决同名包中同名函数冲突问题,注意编译标签的声明必须和包声明中间空一行,否则编译标签的声明会被误认为包声明的注释。
可以用于原有的包不适用我们的需求,如性能过低,而引用的替代包又发生包名和函数名的双重冲突,可用这个解决。
// +build myprint
package myprint //切记与编译标签中间加个空行,否则被认为是注释
import (
"fmt"
)
func PrintInfo() {
fmt.Println("this is print1")
}
// +build !myprint
package myprint
import (
"fmt"
)
func PrintInfo() {
fmt.Println("this is print2")
}
package main
import