为了账号安全,请及时绑定邮箱和手机立即绑定

复杂结构的实例化

复杂结构的实例化

Go
小唯快跑啊 2023-08-14 17:40:13
我在名为availability.go的文件中创建了一个结构体package restconsumeimport ()// Availabilityrequest for sabretype Availabilityrequest struct {     OTAAirLowFareSearchRQ struct {         OriginDestinationInformation []struct {            DepartureDateTime   string `json:"DepartureDateTime"`            DestinationLocation struct {                LocationCode string `json:"LocationCode"`            } `json:"DestinationLocation"`            OriginLocation struct {                LocationCode string `json:"LocationCode"`            } `json:"OriginLocation"`            RPH string `json:"RPH"`        } `json:"OriginDestinationInformation"`        POS struct {            Source []struct {                PseudoCityCode string `json:"PseudoCityCode" default:"F9CE"`                RequestorID    struct {                    CompanyName struct {                        Code string `json:"Code" default:"TN"`                    } `json:"CompanyName"`                    ID   string `json:"ID" default:"1"`                    Type string `json:"Type" default:"1"`                } `json:"RequestorID"`            } `json:"Source"`        } `json:"POS"`        TPAExtensions struct {            IntelliSellTransaction struct {                RequestType struct {                    Name string `json:"Name" default:"200ITINS"`                } `json:"RequestType"`            } `json:"IntelliSellTransaction"`        } `json:"TPA_Extensions"`        TravelPreferences struct {            TPAExtensions struct {                DataSources struct {                    ATPCO string `json:"ATPCO" default:"Enable"`                    LCC   string `json:"LCC" default:"Disable"`                    NDC   string `json:"NDC" default:"Disable"`                } `json:"DataSources"`                NumTrips struct {                } `json:"NumTrips"`            } `json:"TPA_Extensions"`        } 现在我已将此包导入到我的主包中,并且仅使用一个子结构(TPAExtensions)main.go进行实例化时遇到问题错误消息未定义:Availabilityrequest 我的问题是如何实例化这种复杂的结构?
查看完整描述

1 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

最简单的答案是不要尝试使用结构体文字,而是将顶级类型的变量初始化为其类型的适当零值,然后仅显式设置需要的字段,如下所示:

var a Availabilityrequest
a.OTAAirLowFareSearchRQ.TPAExtensions.IntelliSellTransaction.RequestType.Name = "200ITINS"

但老实说,从你的问题来看,你似乎是一个 JavaScript 程序员,试图攻击 Go,但对 Go 语言没有太多先验知识。这是一条通往痛苦的道路。


查看完整回答
反对 回复 2023-08-14
  • 1 回答
  • 0 关注
  • 142 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信