gpt4 book ai didi

dictionary - 返回结构映射的包

转载 作者:IT王子 更新时间:2023-10-29 02:31:50 27 4
gpt4 key购买 nike

我已经创建了填充结构映射的逻辑,并且它按预期工作。现在,我想将该功能移动到一个包中。像这样

package returnperson
func Person() map[string]personstruct {
//do stuff
return people
}

我在函数 Person 的主体中定义了 personstruct,但是,第 2 行抛出以下错误:

undefined:personstruct(2,1)

我已经研究过,但似乎找不到解决问题的方法。预先感谢您的帮助。

最佳答案

这里有一些关于将一些东西提取到包中的提示:

  1. 只有函数、变量和包级别大写字母的类型才能从“外部”(其他包或 main)访问

  2. 公共(public)函数应该只返回公共(public)类型

在你的例子中,你说 personstruct 是在函数 Person 中定义的。如果您希望它成为函数的返回值,那是不可能的。您需要在包级别定义它。它也应该被导出,因为导出函数使用它。

这里是一个示例:

package returnperson

// PersonStruct defines ...
type PersonStruct struct {
// fields
}

// Person does ...
func Person() map[string]PersonStruct {
var people = map[string]PersonStruct{}
//do stuff
return people
}

-- 编辑--

我会进一步建议将包本身称为 person 并让它管理一个人,这意味着这个包中的主要项目将是一个名为 Person 的结构。 returnperson 更像是一个函数名。

包也可以是关于人员列表( slice/ map )。那么也许你想称它为 personlist 并且该包的主要主题是管理一个人员列表,其主要结构可能称为 PersonList

只是一些考虑的建议...

关于dictionary - 返回结构映射的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49393087/

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