草庐IT

结构型

全部标签

CGO 我正在传递一个 C 结构,它带有一个指向 go 函数的值的指针,

我很疑惑下面的场景是否需要清理内存?我有一个C函数,它创建一个C结构并将其传递给Go函数。C结构包含一个值数组(使用指针算法)。Go函数填充此数组并返回。在调用C函数中,我将值从C结构中复制出来并且不存储它们。因为这是在Go中创建的,所以垃圾会被收集吗?/*Ccode*/intgo_func(c_struct*s);structc_struct{val*values;size_t*values_cnt;};voidexample_call(){structc_structs;go_func(&s)copy_values(s)}/*gocode*/funcgo_func(c*C.c_st

go - golang 结构的双向绑定(bind)

TLDR:我可以在golang中注册回调函数以在结构成员更改时收到通知吗?我想在Go服务器和Angular客户端之间创建一个简单的双向绑定(bind)。通信是通过websockets完成的。示例:开始:typeSharedTypestruct{AintBstring}sharedType:=&SharedType{}...sharedType.A=52JavaScript:varsharedType={A:0,B:""};...sharedType.A=52;想法:在这两种情况下,修改值后,我想触发自定义回调函数,通过websocket发送消息,并相应地更新客户端/服务器端的值。发送的

pointers - 确认 Go 中的结构字段非零

我正在尝试编写一个通用函数,它采用struct并确认给定字段具有非零值。这是我的功能:funcCheckRequiredFields(kindstring,iinterface{},fields...string)error{for_,field:=rangefields{value:=reflect.ValueOf(i).FieldByName(field)ifvalue.Interface()==reflect.Zero(value.Type()).Interface(){returnfmt.Errorf("missingrequired%sfield%s",kind,field)

arrays - 如何解析 golang 中的结构并打印结构中的项目?

这是一个类似的例子:ParsingJSONinGoLangintostruct我从服务器收到一个json响应,我只需要获取某些数据。我创建了一个示例代码:packagemainimport("fmt""encoding/json")typeresponsestruct{Response[]struct{Statsstruct{Aint`json:"a"`Bfloat64`json:"b"`Cint`json:"c"`Dfloat64`json:"d"`Efloat64`json:"e"`Ffloat64`json:"f"`Gfloat64`json:"g"`Hfloat64`json:

go - Beego/Golang - 查询结构的值

我有一个使用Beego框架在Golang中构建的API,我有一个具有多个连接的查询,然后返回一个JSON结果。我希望有一种方法可以将每一行转换为具有更好键名的结构,IE而不是“Stage__Description”只是“Stage”等...所以我构建了一个带有键名的ResultMap结构我想,我应该创建一个map吗?查询:typeResultMapstruct{IdintDateAddedtime.TimeFirstNamestringLastNamestringUsernamestringStagestringstationstringstatusstring}//varmaps[]

go - 如何使结构字段成为列表中的值?

我有一个访问权限列表:const(Everyone=0Owner=1Administrator=2)还有一个表示路由的结构体:typeRoutestruct{NamestringMethodstringPatternstringHandlerFunchttp.HandlerFuncAccessLeveluint64}如何限制Route结构的AccessLevel字段值只是上面的那些常量之一? 最佳答案 施加此类限制的唯一方法是不导出字段,并在任何setter方法中进行检查。typeRoutestruct{NamestringMeth

Golang 返回子结构代替父结构,就像在 C++ 中一样

我正在尝试拥有一个可以返回各种多个子对象的通用函数。这个想法是能够返回请求json正文中的那些内容。代码如下GenericTypestruct{V1string`json:"v1"`V2string`json:"v2"`}SubTypestruct{GenericTypeV3string`json:"v3"`}funcTestFunc()GenericType{val:=SubType{GenericType:GenericType{V1:"a",V2:"b",},V3:"c",}returnval}错误是cannotuseval(typeSubType)astypeGenericTy

inheritance - 具有混合结构类型的 Go 映射和 slice

我正在尝试通过创建一个能够创建投影的简单事件存储来学习如何使用Go。我被困在如何使用包含混合类型结构的slice和映射上。这样做的要点是,我希望开发人员根据需要在各个字段中创建尽可能多的实现IEntity和IEvent的结构。我来自JavaScript/Node.js背景,具有一些C/C++/Java的基本知识,我可能在这里寻找类/继承模式并需要一些帮助来了解如何在Go中获得相同的功能.packagemainimport("sync""time"uuid"github.com/satori/go.uuid")//IEntitydescribesanentity,astructthati

Golang RethinkDB ChangeFeed 结构

我想知道是否有人可以解释如何将我的changefeed游标值解码为特定的结构类型。varmessagemap[string]interface{}forchatFeedCursor.Next(&message){fmt.Println(message)}map[new_val:map[club_id:ea2eb6e2-755f-4dad-922d-e3693b6e55c6date:2017-04-0714:48:17.714+0100+01:00id:e389ab54-963e-4b33-9b34-adcb6ec5b17emessage:whatisthemeaningoflife?u

mysql - 从 sphinx db 到有点复杂的 golang 结构的最佳实践

我正在尝试通过MySQL将sphinx查询转换为golang结构,但遇到了困难。看起来这应该是一种常见的问题,但到目前为止,我一直坚持将其转换为map或自己解析输出。具体来说,我在sphinx中有一个模式,看起来像{Source:{ID:string,subId:string,Campaigns:[]{CampaignID:string,Status:string}}}我试过使用简单的rows.scan,但这并不能帮助我解析重复字段,我只是将其作为未解析的字符串获取。在sphinx中,key不在引号中,因此JSON.unmarshal似乎根本没有帮助。并使用sqlx,我尝试构建以下结构