jjzjj

json - 结构列表作为 json golang

这个问题在这里已经有了答案:json.Marshal(struct)returns"{}"(3个答案)关闭7年前。我试图在每个属性中返回一个带有列表的json,但我总是以空列表的形式获取列表。似乎我在结构内部有错误,但我找不到它。我有两个结构:typeCalendarDaystruct{dayint`json:"day"`weekdaystring`json:"weekday"`}typeCalendarYearstruct{January[]CalendarDay`json:"january"`February[]CalendarDay`json:"february"`March[]

json.Marshal 对两个对象的行为不同 (Go/Golang)

所以我想将数据编码为JSON。基本结构如下所示:typeDatabaseObjectstruct{Preferences[]int`json:"preferences"`Textsmap[string]string`json:"texts"`Optionsmap[string]string`json:"options"`Genderstring`json:"gender"`EMailstring`json:"email"`}这是(工作中的)Playground版本:https://play.golang.org/p/GI3nAo7L4a然而,当我在我的程序中使用这段代码时,结果却大不相

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

http - 使用计算键去构造

如何在Go中为以下数据结构创建struct?{"description":String,"public":Boolean,"files":{"some_filename.txt":{"contents":String}}}我从以下开始:typeFilestruct{//stuckhere?}typePayloadstruct{DescriptionstringPublicboolFilesFile}非常感谢将此用于HTTPpost请求的任何帮助。 最佳答案 当key在编译时未知时使用映射:typeFilestruct{Content

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

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

go - 如何列出指向golang struct所有字段的指针?

在golang中有没有一个很好的方法来传递一些结构实例c的所有字段?我正在寻找一些语法糖功能,而不是这样做:method(&c.field1,&c.field2,&c.field3,&c.field4,&c.field5,...)我可以这样做:method(FieldsPointers(c)...)我是golang的新手,仍在学习基础知识,如果没有好的方法可以出于充分的理由做我想做的事情,我将不胜感激解释原因。 最佳答案 除了所有sql指定的工具,如果你想访问一个结构的指针,你可以使用reflect。请注意,这个包裹很棘手,robp

mysql - 多个 rows.Next() 在同一时间 golang sql/database

我正在开发一个获取用户的功能。我的问题是我必须将两个查询的结果作为rows.Next()和rows1.Next()中的一个结果返回,例如user_id,subject,phone.这是我拥有的,但它不起作用。你能帮我提出一些建议吗:funcGetUsers()(users[]Users,errerror){users=make([]Users,0)rows,err:=db1.Query("SELECTuser_id,subject,phoneFROMuserslimit11")rows1,err:=db1.Query("Selectbodyfromuserslimit11")defer

variables - Golang 中不同的变量类型声明

您好,自上次查看以来我才开始学习Go,阅读了一些文档并注意到它与定义结构或接口(interface)有关。仍然无法区分varresult[]Struct和result:=Struct{}有没有我可以引用的特定文档? 最佳答案 第一个示例中的结果是一个nilslice。规范说变量是initializedtotheirzerovalues那zerovalueofasliceisnil.第二个示例中的result是一个Struct值。它使用shortvariabledeclaration和compositeliteralStruct的值。

go - 为什么在method中只用一个字符来表示receiver?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion为什么在struct的方法中只用一个字符来表示当前实例?示例:typeSomethingstruct{}func(s*Something)doSomething(){}我发现使用起来更具可读性:func(something*Something)doSomething(){}