复杂结构的实例化

我在名为availability.go的文件中创建了一个结构体


package restconsume


import (


)


// Availabilityrequest for sabre

type 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 我的问题是如何实例化这种复杂的结构?


小唯快跑啊
浏览 154回答 1
1回答

白板的微信

最简单的答案是不要尝试使用结构体文字,而是将顶级类型的变量初始化为其类型的适当零值,然后仅显式设置需要的字段,如下所示:var a Availabilityrequest a.OTAAirLowFareSearchRQ.TPAExtensions.IntelliSellTransaction.RequestType.Name = "200ITINS"但老实说,从你的问题来看,你似乎是一个 JavaScript 程序员,试图攻击 Go,但对 Go 语言没有太多先验知识。这是一条通往痛苦的道路。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go