草庐IT

文章结构

全部标签

json - Golang 结构字段名称并解码到此结构中

我写了一个示例程序来说明我的问题,可以在这里查看:https://play.golang.org/p/6776lYcbBR所以我的问题是:当结构(GameOne)字段的名称以大写字母开头时,json.Unmarshal用作预期的;当它以小写字母(GameTwo)开头时,字段值设置为默认值。为什么会这样?与范围/可见性规则有关吗?提前谢谢你。 最佳答案 json.Unmarshal仅设置结构中的导出字段,并且对于导出字段,首字母必须大写。有关更多信息,我强烈建议您查看documentation

go - 如何在函数中传递指向结构的指针?

我想知道如何将*Type替换为?什么地址里面有结构?//mycode.gopackagemainimport"fmt"funcout(k*Type){fmt.Println(k)}funcmain(){typeDataIPstruct{Title,Descstring}Data:=DataIP{"Hello!","HelloGO!",}out(&Data)} 最佳答案 您需要在main()之外定义类型DataIP,该类型在包的范围内,而不仅仅是在main函数内:packagemainimport"fmt"typeDataIPstru

go - 作为参数传递时结构成员的范围可见性?

例如,通过传递结构调用json.Decoder.Decode时type_Samplestruct{firststring//thiswillnotbefilledbecauseitstartswithlowercaseletterSecondstring//itisOK.}...varsample_Sampleerr:=decoder.Decode(&sample)根据LanguageSpecification写的:Exportedidentifiers¶Anidentifiermaybeexportedtopermitaccesstoitfromanotherpackage.Anid

go - Golang 存储库的正确结构

我开始从事Golang开发。现在我的老板给了我一个其他开发人员所做的项目的存储库,现在他离开了公司,我不能问他一些与此相关的事情。现在我对他推送到repo的项目结构感到困惑,结构是下一个:|-MyApp|--bin|--pkg|--src|----api(thecodeoftheapp)|----github.com|----golang.org|----gopkg.in对我来说,它是Go的结构,1.-在repo中不应该只有api文件夹?如果我转到api文件夹并使gorunmain.go我收到一条消息,即使它们在文件夹中也找不到某些包,2.-我如何在go中指定包运行命令?3.-为gol

json - 在 go 中解码 JSON 结构制作空 map

这个问题在这里已经有了答案:PrintingEmptyJsonasaresult[duplicate](1个回答)关闭9个月前。我有一个json文件,其中包含大量数据:{"elec":{"s20":{"coldS":{"wDay":{"Night":{"avg":1234,"stddev":56},"Morning":{"avg":5432,"stddev":10}...},...},...},...}我想将这个文件加载为一个go结构:typeConsumConfigstruct{elecmap[string]map[string]map[string]map[string]Consu

go - 使用来自其父级的方法更改嵌入式结构的属性

我必须定期调用父结构的方法,但在调用时,它必须更新嵌入式结构特有的扩展属性(在我的例子中,结构具有不同的id数据类型)。我能想到的唯一解决方案是覆盖父结构的a方法,以便在再次调用周期性方法时,它使用嵌入结构的方法而不是父结构的原始方法。代码如下:packagemainimport("fmt")typeFruitstruct{image*Imagetree*TreeSetImagefunc(*Image)SetTreefunc(*Tree)//#2(alwaysnilforStrawberry)}funcNewFruit()*Fruit{f:=&Fruit{}f.SetImage=f.s

json - golang 结构仅从 json 中部分解码

我正在尝试将json转换为golang嵌套结构。它只是部分工作。大多数字段都不能正确解析,尽管有些可以。为什么不将来自json的所有数据都转换为golang结构?我的猜测是我的json格式和golang结构之间有一些错误,但我没有看到它。发帖让其他人关注这个问题。当我运行程序时,机器ip地址被解码,但测试运行id却没有。这是我的主要方法的输出:testrunid:machineip:172.25.148.39这是我的golang代码:packagemainimport("encoding/json""bytes""io/ioutil""runtime""log")funcmain(){

json - 如何在 GO 中初始化嵌套 json 结构中的值?

这个问题在这里已经有了答案:Initializenestedstructdefinition(3个答案)关闭5年前。我现在有这个结构typeServiceStructstruct{Namestring`json:"name"`DataStructstruct{IDstring`json:"id"`Sizestring`json:"size"`}}但我不确定如何为这个结构内的元素赋值。特别是ServiceStruct中的DataStruct

go - 如何使结构接受两种类型之一作为参数?

我有一个结构DbConnector,我想将其用作与数据库通信的代理。这个结构有方法Init(db*sql.DB)。根据条件,我希望能够使用另一个结构初始化它,例如用于测试的DummyDatabaseConnection。如何定义Init()的签名,以便它接受*sql.DB或*DummyDatabaseConnection? 最佳答案 定义一个接口(interface),其中包含一些您需要为*sql.DB和*DummyDatabaseConnection调用的方法typeDBInterfaceinterface{Ping()error

go - Go 语言中的动态嵌套结构

我正在学习golang,想从微服务响应中编写通用响应。我的一般回复是这样的:typeGeneralResponsestruct{SuccessstringMessagestringDatastringErrorstring}在Data部分,我想返回任何json,比如Person、Instruments或任何类型的对象列表。不过应该​​是另外一个json。我尝试分配其他json对象,但没有用。如果我将json数组作为字符串转储到其中很好,但它应该从接收端解码。我该怎么办?我正在这边试试。https://play.golang.org/p/dc0uKtS76aA