在Go语言中,use
包范围是指在一个文件中导入的包只能在该文件中使用。如果想要让它跨文件使用,可以通过以下两种方式实现:
// file1.go
package main
import "fmt"
var MyPackage = fmt
// file2.go
package main
func main() {
MyPackage.Println("Hello, world!")
}
// file1.go
package main
import "fmt"
type MyInterface interface {
Println(a ...interface{}) (n int, err error)
}
// file2.go
package main
import "fmt"
type MyPackage struct{}
func (m MyPackage) Println(a ...interface{}) (n int, err error) {
return fmt.Println(a...)
}
// file3.go
package main
func main() {
var myPackage MyInterface = MyPackage{}
myPackage.Println("Hello, world!")
}
这样就可以实现在不同文件中使用同一个包。需要注意的是,这种方式只适用于在同一个项目中的不同文件之间共享包,而不适用于不同项目之间的共享。
领取专属 10元无门槛券
手把手带您无忧上云