草庐IT

表结构

全部标签

arrays - 无法访问在另一个函数中更改的结构字段

我是Go语言的初学者。我在函数列表中创建了一个结构的对象数组,并将该对象数组的地址传递给另一个函数更改列表。在我的函数更改列表中,我将它作为指针获取。我想编辑这个函数中传递的数组对象的一些字段changedlist并将其传递回被调用函数列表。当我尝试在我的被调用函数中访问它时,我无法从changedlist函数访问更新版本。HereismycodetypeMailstruct{NamestringAddressstringStatusboolErrorerror}functionList(){varaddressList=make([]Mail,2)addressList[0].Nam

JSON:将填充的结构嵌套到新结构中

我有一个这样的结构:typemy_structstruct{Firststring`json:"first"`Secondstring`json:"second"`Numberint`json:"number"`}当我将其编码为JSON时,它会像您期望的那样输出非常简单的JSON:varoutput_json[]byteoutput_json,_=json.Marshal(output)fmt.Println(string(output_json))结果:{"first":"my_string","second":"another_string","number":2}到目前为止一切正

golang 不支持模板的结构 slice 深度

我遇到了一个独特的问题。为了学习golang,我创建了一个Twitter类的网站。它有推文,每条推文都可以有评论,每个评论都可以有子评论。在homepage.html中显示structpdEnv.Tpl.ExecuteTemplate(w,"homePage.html",pd)其中pd是页面数据(为了简单起见,我删除了额外的信息)typePageDatastruct{TweetView[]tweets.TweetView}tweet.TweetView在哪里typeTweetViewstruct{TweetCV[]comments.Comment}comments.Comment在哪里

go - 无法将实现 Foo 接口(interface)的结构 slice 传递给需要 []Foo 的函数

我正在尝试使用Go中的接口(interface),但我似乎无法将实现某个接口(interface)的结构片段传递给需要接口(interface)片段的函数。它适用于只接受单个对象的函数,但不适用于需要接口(interface)slice的函数。使用下面的代码我得到以下错误:./main.go:27:cannotusefooBar(type[]*FooBar)astype[]FooinargumenttoFooBarBar代码如下:packagemainimport"fmt"typeFoointerface{Bar()bool}typeFooBarstruct{abool}func(f*

go - 在结构映射中实现结构集

我有一个结构映射如下:typeSocketIDstringtypeSocketstruct{socket//...idstring}typeChannelstruct{sync.Mutexsocketsmap[SocketID]Socket}我希望能够为其添加子channel,其中每个Socket都属于一个子channel。我尝试将channel结构更改为此:typeSubchannelIDstringtypeChannelstruct{sync.Mutexsocketsmap[SocketID]Socketsubchannelsmap[SubchannelID]map[SocketI

go - 单个 go 项目使用的 go 包的正确文件夹结构

我目前正在开始使用Go,并且已经深入研究了有关包命名和工作区文件夹结构的注意事项。不过,我不太确定如何根据Go范式正确组织我的代码。这是我当前的结构示例,它位于$GOPATH/src中:github.com/myusername/project|--main.go+--internal+----config|------config.go所以我有一个名为project的项目,它使用config包,而该包又以一种只应由project使用的方式专门化。因此,我不希望它位于github.com/myusername/config下,对吗?现在的问题是,使用内部包结构是否“好”,或者我应该将我

json - 结构中的泛化 - golang

我有这个函数可以将JSON文件读入Driver结构:funcgetDrivers()[]Driver{raw,err:=ioutil.ReadFile("/home/ubuntu/drivers.json")iferr!=nil{fmt.Println(err.Error())os.Exit(1)}vard[]Driverjson.Unmarshal(raw,&d)returnd}如何更改此函数以使其也适用于Pilot结构?我尝试使用[]interface{}但没有成功。谢谢 最佳答案 更改函数的签名以使其通用,并将slice作为参

json - easyjson 将数组解码为 go 结构

我最近开始使用golang和easyjson。现在我必须将一个json数组解码为一个结构才能使用它。这就是我得到的。传入的JSON数据如下所示[{"Item1":true,"Item2":"hello","Item3":{"A":1,},},...]我的结构:packagesomething//easyjson:jsontypeItemstruct{Item1boolItem2stringItem3SubItem}//easyjson:jsontypeSubItemstruct{Aint}(我构建了*_easyjson.go文件)下面是我将如何使用easyjson:funcConver

go - 解码为结构时 JSON 输入意外结束

你能帮我理解为什么我总是收到错误unexpectedendofJSONinput吗?在尝试将以下json解码到LimitOrder时结构?附言:如果我使用map[string]json.RawMessage而不是LimitOrderstruct我能够执行解码。{"response_data":{"order":{"order_id":3,"coin_pair":"BRLBTC","order_type":1,"status":4,"has_fills":true,"quantity":"1.00000000","limit_price":"900.00000","executed_qu

arrays - json 解码的正确结构

我不知道如何在golang中为这个json对象构建结构:{"response":[1702487,{"uid":150261846,"first_name":"Олег","last_name":"Брейн"},{"uid":53260546,"first_name":"Олег","last_name":"Лобацевич"}]}如您所见,数组和计数也没有键名。如能提供帮助,将不胜感激 最佳答案 在这种情况下,您将不得不在某处使用interface{},例如:packagemainimport("fmt""encoding/j