我正在尝试将以下结构导入到 Golang 中的单独包中
package models
type Category struct {
Title string
Description string
Parent *Category
ParentId int
}
进入package controllers
如下
import(
"website.com/Owner/blog/app/models"
)
func (c Category) Update(){
//do something here
}
但是,我收到错误 unresolved type Category
我应该如何使用 Go 将结构导入到单独的包中?
最佳答案
您需要完全限定您的名称:不要使用 Category
,而使用 models.Category
。 doc应该让你开始。你可以这样做:
import "fmt"
func main() {
fmt.Println("Hello")
}
或者:
import f "fmt"
func main() {
f.Println("Hello")
}
或者完全放弃限定条件(但是,这被认为是糟糕的风格:一眼就能看出某些结构或函数的来源在查看代码时非常方便):
import . "fmt"
func main() {
// Where does that come from ? Hard to know without
// intimate knowledge of the package
Println("Hello")
}
您可以做的最后一件事是“typedef”您的远程结构以便于在本地使用:
import "website.com/Owner/blog/app/models"
type Category models.Category
但是请注意,它会创建一个 new type , 尽管具有相同的底层类型。
关于go - 如何从 Go 中的另一个包导入结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39491435/