gpt4 book ai didi

go - 如何从 Go 中的另一个包导入结构

转载 作者:数据小太阳 更新时间:2023-10-29 03:05:46 25 4
gpt4 key购买 nike

我正在尝试将以下结构导入到 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.Categorydoc应该让你开始。你可以这样做:

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com