我正在尝试从以下文件中的另一个包导入结构:
// main.go
import "path/to/models/product"
product = Product{Name: "Shoes"}
// models/product.go
type Product struct{
Name string
}
但是在main.go
文件中,结构Product
未定义。如何导入结构?
答案 0 :(得分:6)
在Go中你导入"完成" 包,而不是包中的功能或类型 (有关详细信息,请参阅此相关问题:What's C++'s `using` equivalent in golang)
有关import
关键字和导入声明的语法和更深入说明,请参阅Spec: Import declarations。
导入包后,您可以参考其exported identifiers qualified identifiers,其格式为:packageName.Identifier
。
所以你的例子看起来像这样:
import "path/to/models/product"
import "fmt"
func main() {
p := product.Product{Name: "Shoes"}
// Use product, e.g. print it:
fmt.Println(p) // This requires `import "fmt"`
}