jjzjj

go - 在 Go 中查找结构的底层匿名字段类型

我有这两个结构:typeCustomTimestruct{time.Time}typeEventsstruct{TimestampCustomTime}当我反射(reflect)Events.Timestamp的字段时,我得到CustomTime;我怎样才能得到实际的底层类型time.Time? 最佳答案 这是一个goplayground示例,展示了如何访问匿名字段。https://play.golang.org/p/yQULMVaQK0基本上,一旦您获得了结构的值,您就应该能够从字段0中获取时间值

arrays - 自己结构数组的JSON编码

我尝试读取一个目录并从文件条目中生成一个JSON字符串。但是json.encoder.Encode()函数只返回空对象。为了测试,我在tmp目录中有两个文件:test1.jstest2.jsgo程序是这样的:packagemainimport("encoding/json""fmt""os""path/filepath""time")typeFilestruct{namestringtimeStampint64}funcmain(){files:=make([]File,0,20)filepath.Walk("/home/michael/tmp/",func(pathstring,fo

go - 看不到 struct Golang 的公共(public)函数

我没有看到我定义的结构的公共(public)方法。有人可以让我明白为什么吗?这是代码://DataSaver.go:packageDataStorageimport("fmt""os")typeDataSaverstruct{//doesn'trelevanttomyquestionfileNamestringfile*os.File}funcPrintStr(){fmt.Println("hello")}然后,我在其他类中有一个主要方法。我初始化了结构,我想调用PrintStr()函数。但是,我无法调用此方法。为什么?谢谢! 最佳答案

go - 为什么在遍历结构片段时无法访问结构字段

我在包中有一个函数,该函数返回我在包中定义的特定结构的slice,然后将其导入到另一个主包中,我想遍历该函数返回的slice并访问structs字段,我收到“未定义”错误。“一个未定义(无法引用未导出的字段或方法a)”我想念什么?谢谢您的帮助。软件包代码:packagetest_packageimport"fmt"typeStructstruct{astringbstring}funcReturnStructSlice()([]Struct){s1:=Struct{"a","b"}s2:=Struct{"c","d"}structSliceToReturn:=[]Struct{s1,s

go - 我的结构没有正确编码并且缺少一个属性

typeApiResponsestruct{Successbool`json:"success"`Errors[]string`json:"errors"`}typeNewSessionResponsestruct{ApiResponse`json:"apiResponse"`authTokenstring`json:"authToken"`}在我的处理程序中,我这样做:resp:=NewSessionResponse{ApiResponse{true,[]string{}},"auth123"}json.NewEncoder(w).Encode(resp)我看到的响应是这样的:{ap

go - 如何将包的结构分配给具有相同字段的另一个包的结构

我在main包中有一个结构:packagemaintypeDispatchesDetailsStructstruct{}我在包store中创建了另一个结构,其字段与在main包中创建的结构相同。packagestoretypeDispatchesDetailsstruct{}这里我要做的是,我在store包中创建了一个函数,返回DispatchesDetails结构。func(s*DispatchStore)GetDispatchByCondition(dispatchObjectDispatchesRequestStruct,objRaouteAvailabilityAvailabi

pointers - Go 似乎没有像我想的那样传递指针

我这里有一个Go程序,我用它来测试我在一个更大的http服务程序中遇到的指针错误。我有一个结构指针,我想传递给一个函数来初始化它。当然,因为它是一个指针,所以我不必返回任何东西。应该直接修改吧。然而,这不是这里发生的事情。funcmain(){varthing*ThingModifyThing(thing)fmt.Println(thing)}funcModifyThing(thing*Thing){thing=NewThing()}funcNewThing()*Thing{thing:=Thing{}return&thing}///Output:如果我直接在我的thing上使用New

go - 对这个 map[string]struct 的定义方式感到困惑

我理解go中的map,但这段代码让我感到困惑:testCases:=map[string]struct{pod*api.Podrequired[]corev1.ResourceNameerrstring}{"initcontainerresourcemissing":{pod:&api.Pod{Spec:api.PodSpec{InitContainers:[]api.Container{{Resources:api.ResourceRequirements{Requests:api.ResourceList{api.ResourceCPU:resource.MustParse("1m

go - 使用 structs 、 maps 或其他东西?

我是Go的新手(在一定程度上是编程新手),所以使用边学边练的方法。对于下面的代码(提取天气预报),我希望从我的列表中填充经度和纬度。我不完全确定如何首先设置该列表-使用结构,然后将存储的结构的值通过管道传递到此代码中?我试过了,似乎我只能在一个结构中容纳一对经/纬度。我正在考虑使用map,但无法弄清楚如何进行设置。也许,我应该将值列表存储在一个文本文件中并从那里读取:p:=Place{placeName:"Accra",lat:"43.6595",long:"-79.3433",placeName:"Kumasi",lat:"43.6595",long:"-79.3433",place

arrays - 我们如何在 golang 的结构中初始化结构类型的数组(存储 json 输出)

我需要初始化以下将存储json的数据结构。Attack_plans将包含多个计划,如果我遍历GeneratePlan结构,我需要存储的所有计划。typeGeneratePlanstruct{Modestring`json:"mode"`Namestring`json:"name"`Schemastring`json:"schema"`Versionstring`json:"version"`Attack_plans[]struct{Attack_plan*Attack_plan`json:"attack-plan"`}`json:"attack-plans"`}typeAttack_p