草庐IT

树形结构

全部标签

json - 将 json 解码为反射结构(续)

我想编写一个gin中间件处理程序,它从c.Request.FormValue("data")获取数据,将其解码为一个结构(结构相当不同)并在上下文中设置一个变量(c.Set("Data",newP))。所以我搜索并写下了这个:packagemiddlewareimport("reflect""fmt""github.com/gin-gonic/gin""encoding/json")//https://semaphoreci.com/community/tutorials/test-driven-development-of-go-web-applications-with-gin//

go - 来自 json 的带有 golang 的嵌套结构

我正在尝试获取cloudwatch_event并将其放入go结构中。我有一个CloudwatchEvent结构,其中有一个jsonblock,我需要将其放入另一个结构。该结构的第一级似乎工作正常,但在尝试访问嵌套的json时出现解析错误。这是我的示例事件。我正在尝试详细了解>EC2InstanceId我想我还需要状态代码。{"version":"0","id":"3e3c153a-8339-4e30-8c35-687ebef853fe","detail-type":"EC2InstanceLaunchSuccessful","source":"aws.autoscaling","acc

go - 具有结构的golang单元测试

我使用VSCode生成我项目的测试文件,当前它生成以下结构tests:=[]struct{namestringargsargswantOutZTR}{name:"test123",args:args{ztrFile:"./testdata/ztrfile.yaml",},wantOut:“ZTR.Modules",}测试应该包括yaml的解析和属性测试这里调用解析文件for_,tt:=rangetests{t.Run(tt.name,func(t*testing.T){ifgotOut:=parseFile(tt.args.ztrFile);!reflect.DeepEqual(got

json - 嵌套 JSON 中的相同结构

我在golang中解析JSON时遇到问题,我从API收到JSON格式的响应,该格式在多个级别嵌套相同形式的JSON。API响应如下{"podKategoria":{"podKategoriaTyp":"area","nazwaWyswietlana":"Area","podKategorie":[{"podKategoriaTyp":"somethingelse","nazwaWyswietlana":"Displaysomethingelse","podKategoria":{"podKategoriaTyp":"andotherthing","nazwaWyswietlana":"

postgresql - 如何在 GoLang 的结构数组中分配一组行(从数据库中检索)?

我正在尝试从postgresql中检索一组行,并尝试将其分配到一个结构数组中。我的代码是这样的:vartest[]Demoerr:=sqlx.Get(db,&test,`select*fromdemowhereid=$1`,5,)iferr!=nil{fmt.Println("Error",err)fmt.Println("DatabaseExtractionError")returnnil,errors.Wrap(err,"selecterror")}else{fmt.Println("NoExtractionError")}我有这样的结构:typeDemostruct{IDint6

pointers - 使用嵌套映射复制结构

这个问题在这里已经有了答案:Howtodeepcopyamapandthencleartheoriginal?(6个答案)关闭4年前。我想做什么?在需要时将“默认”结构复制到一个新结构中,并保留其所有值。详情我正在尝试复制一个Chat结构:typeChatDatastruct{Usermap[string]map[string]string`json:"user"`Chatmap[string]string`json:"chat"`}typeChatstruct{Settingsmap[string]map[string]interface{}`json:"settings"`Data

go - 如何使用 go 代码动态创建结构及其属性?

我刚接触golang如何从gocode动态创建结构和属性,最后必须将其存储为文件。例如:结构名称:用户默认情况下,它必须创建Name属性typeUserstruct{Namestring}它必须存储为文件ex:user_struct.go你能请别人帮忙找到一个方法吗 最佳答案 使用text/template编写Go代码。由于我不知道您想如何详细执行此操作,因此我将在示例中使用一个简单的模板。任何类型的真实世界模板都必然会产生格式错误的代码,但是多亏了gofmt,您几乎只需要正确换行(如果您遇到麻烦,请利用分号)。gofmt使用go/

go - GoLang 对由结构和嵌入式结构实现的接口(interface)的类型转换是如何工作的

我最近发现一段代码在做一些我不理解的事情。有多个结构具有相同的嵌入式结构和一个接口(interface),该接口(interface)定义返回指向每个结构的指针的方法。此接口(interface)由嵌入式结构实现,但仅“部分”由各个结构实现,因此,每个结构仅实现返回指向该结构的指针的方法。为了更好的理解,这里有代表性的代码:typeBarStocksinterface{GetVodka()*VodkaGetMartini()*MartiniGetBourbon()*BourbonGetNegroni()*NegroniGetManhattan()*Manhattan}typeBaseA

sql - Golang 用结构值填充函数参数

我想知道是否有一种方法可以在golang中使用结构的所有值(通常是不同类型)填充可变函数参数。我想到的具体示例是以下代码段,它使用https://github.com/DATA-DOG/go-sqlmock为模拟的postgres数据库查询生成一行:rows:=sqlmock.NewRows([]string{"id","updated_at","created_at","meta","account_id","currency","nickname","scheme_name","identification","name","identification_secondary","s

go - 在 Go 中深度复制图结构

我有一些非常经典的节点:typeMyNodestruct{valuestringedges[]*MyNode}我使用这些节点来构建图表。当我构建这个图时,我使用一个函数在节点之间建立双向连接:func(node*MyNode)ConnectTo(otherNode*MyNode)*MyNode{node.edges=append(node.edges,othernode)otherNode.edges=append(otherNode.edges,node)returnotherNode}我想创建图的同构,这样我就可以对其执行操作并将其作为自己的节点集返回。简单的复制构造函数或copy