草庐IT

data_struct

全部标签

go - Struct Json Marshaling导致堆栈溢出

问题当我在我的代码中使用NewChild()函数并随后将“报告”结构编码为JSON时,我得到一个堆栈溢出(goroutine堆栈超过1000000000字节限制)经过研究我发现它应该做一些无限递归的事情,但我不知道为什么我的代码应该有那个。代码typeReportstruct{TestSuites[]ReportElementTestsintSuccessintFailedintRoot*ReportElementCurrentElement*ReportElement`json:"-"`}typeReportElementstruct{SuccessboolTimeboolLogSt

Golang TCP 服务器 : how to write HTTP2 data

我是HTTP/2.0的新手,我正在尝试设置一个用Golang编写的TCP服务器,它接收和写入HTTP/2.0帧。我在将任何数据写回客户端时遇到问题。以下代码片段显示了如何处理请求。conn,err:=l.Accept()iferr!=nil{log.Fatal("couldnotacceptconnection:",err)}deferconn.Close()//Everyconnectionstartswithaconnectionprefacesendfirst,whichhastobereadprior//toreadinganyframes(RFC7540,section3.5

pointers - 分配嵌入的 Struct 类型值

假设我有以下结构:typeXstruct{NamestringAgeintEmailstring}然后我有2个其他结构(子类):typeAstruct{*X}typeBstruct{*X}然后在我的主要代码中我有:a:=A{&X{"John",34,"jd@email.com"}}b:=B{&X{"Greg",22,"gd@email.com"}}fmt.Println(a.Name)//Johnfmt.Println(b.Name)//Greg是否有一种简单的方法来分配a=b以便a.Name返回Greg以及所有其他属性(我不想单独分配它们,因为有一堆属性)注意:我必须这样做,因为我有

go - 声明一个类型,其中该类型是一个返回 struct{} 的函数

我有这个:typeHandlerCreator=func()struct{}我正在尝试声明一个类型,其中该类型是一个返回struct{}值的func。所以,是的,HandlerCreator可能看起来像:typeHandlerstruct{}funcCreateHandler()Handler{returnHandler{}}我正在尝试在map中使用该类型:varHandlers=map[string]HandlerCreator{"Register":register.CreateHandler,//但是它说:cannotuseregister.CreateHandler(typef

go - go中receiver使用struct的问题

接收者的使用packagemainimport"fmt"typePersonstruct{namestringageint}func(p*Person)greeting1(){fmt.Println(p)//&{0}fmt.Println(&p)//0xc000086018fmt.Println("Hello~")}func(pPerson)greeting2(){fmt.Println(p)//{0}fmt.Println(&p)//&{0}fmt.Println("Hello~")}typeStudentstruct{//pPersion->hasaPerson//->isasch

go - 无法理解 go test -race : RACE: DATA WARNING stack trace

我在测试我的项目时遇到了DATARACE警告,想知道是否有人愿意帮助我破译这个问题。我过去从未尝试过测试go例程,我发现很难全神贯注于数据竞赛。我在描述中提供了指向未解决问题的链接,并在问题描述中提供了跟踪。我真的很感激一些帮助,只是从学习调试类似问题和为将来的go例程编写更好的测试方面。https://github.com/nitishm/vegeta-server/issues/52下面还提供了跟踪的片段===RUNTest_dispatcher_Cancel_Error_completedINFO[0000]creatingnewdispatchercomponent=dispa

go - 将内部 go struct 数组转换为 protobuf 生成的指针数组

我正在尝试将内部类型转换为protobuf生成的类型,但无法转换数组。我是新手,所以我不知道所有可以提供帮助的方法。但这是我的尝试。当运行这段代码时,我得到panic:runtimeerror:invalidmemoryaddressornilpointerdereference[signalSIGSEGV:segmentationviolationcode=0x1addr=0x8pc=0x86c724]以及许多其他字节数据。我想知道将内部结构转换为protobufs的最佳方法是什么。我认为我遇到的最大麻烦是protobuf生成的代码是指针。原型(prototype)定义message

struct - 如何从 Windows API 访问结构中联合中的变量?

我得到了input.ki未定义(类型C.INPUT没有字段或方法ki)。我尝试使用“union_”前缀,但没有成功。有什么想法吗?packagemain//#include//#includeimport"C"//http://msdn.microsoft.com/en-us/library/windows/desktop/ms646270(v=vs.85).aspx//typedefstructtagINPUT{//DWORDtype;//union{//MOUSEINPUTmi;//KEYBDINPUTki;//HARDWAREINPUThi;//};//}INPUT,*PINPU

pointers - 我应该在 struct 字段上还是在 struct 上创建指针?走

我想知道关于指针的最佳实践是什么。我应该在结构上还是在其字段上定义它们。我虽然定义一个指向结构本身的指针是有意义的,但这里有一个我觉得很有趣的例子。如果所有字段都是指针,为什么我不应该使用指向整个结构的指针来获取每个字段的地址?typeTagstruct{Tag*string`json:"tag,omitempty"`SHA*string`json:"sha,omitempty"`URL*string`json:"url,omitempty"`Message*string`json:"message,omitempty"`Tagger*CommitAuthor`json:"tagger

go - 使用 reflect 设置 struct of struct values 的值

我有一些看起来可以工作但最终什么也没做的代码:http://play.golang.org/p/TfAWWy4-R8有一个结构,该结构具有结构类型的字段。内部结构具有所有字符串字段。在循环中使用反射,想要从外部结构中获取所有结构字段。接下来,填充内部结构中的所有字符串值。示例代码从标签中获取文本并在“,”上对其进行解析,以获取内部循环的字符串值。这是应该创建内部结构并将解析的数据添加到字符串值的主要部分。t:=reflect.TypeOf(Alias{})alias=reflect.New(t)fori:=0;i当您查看示例的输出时,它看起来像是在工作,但是在从外部结构打印一个值之后,