第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在golang中打印變量for,in outside for,in outside for?

如何在golang中打印變量for,in outside for,in outside for?

Go
吃雞游戲 2023-05-08 18:11:12
我有問題如何打印一個變量,在外面,在 Go 中?我正在使用庫 GJSON gjson我嘗試了很多方法,我只是輸入了全局變量但只是出現了最終索引,例如:datePriodGlobal = DatePeriod.String()和datePriodGlobal = DatePeriod.String()我嘗試的另一種方式也只是最終索引,如下所示:tempPayments:= "Envelope.Body.GetCustomReportResponse.GetCustomReportResult.ContractSummary.PaymentCalendarList.PaymentCalendar."resultMapPriodTest := gjson.Get(jsonString,tempPayments + "#.Date")    resultContractsSubmittedTest := gjson.Get(jsonString, tempPayments + "#.ContractsSubmitted")    var datePriodGlobal string    for _, DatePeriod := range  resultMapPriodTest.Array()[1:13] {        datePriodGlobal = fmt.Sprintf("%s", DatePeriod.String())    }    var contractsSubmittedGlobal string    for _, ContractsSubmitted := range resultContractsSubmittedTest.Array()[1:13]{        contractsSubmittedGlobal = fmt.Sprintf("%s", ContractsSubmitted.String())    }    fmt.Printf("%s |        %s              \t|",datePriodGlobal, contractsSubmittedGlobal)    }我有這樣的 json:
查看完整描述

2 回答

?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

我建議只遍歷PaymentCalendarJSON 對象的一部分,而不是使用索引作為偽 ID 來查詢每個字段。


下面是一個簡單的演示:


func main() {


    jsonString := `

{

    "PaymentCalendarList": {

        "PaymentCalendar": [

            {"ContractSubmitted": 10,

             "Date": "2018-01-01T01:01:01"},

            {"ContractSubmitted": 20,

             "Date": "2018-01-01T02:02:02"},

            {"ContractSubmitted": 30,

             "Date": "2018-01-01T03:03:03"}

            {"ContractSubmitted": 40,

             "Date": "2018-01-01T04:04:04"}

            {"ContractSubmitted": 50,

             "Date": "2018-01-01T05:05:05"}

        ]

    }

}`


    result := gjson.Get(jsonString, "PaymentCalendarList.PaymentCalendar")


    for _, paymentCal := range result.Array()[0:3] {


        date := paymentCal.Get("Date")

        contractSubmit := paymentCal.Get("ContractSubmitted")


        fmt.Printf("%s | %s\n", date, contractSubmit)

    }


}

操場


查看完整回答
反對 回復 2023-05-08
?
茅侃侃

TA貢獻1842條經驗 獲得超22個贊

“不能將‘DatePeriod’(類型結果)用作賦值中的類型字符串”

因此,變量DatePeriod是一種Result類型,而不是String.?您指定要使用 打印字符串%s,但不提供fmt.Sprintf字符串,從而導致該錯誤。Sprintf如果給定的值已經是 ,則不需要String。

查看gjson.go,該Result類型有一個String()方法,所以你想要 instead?DatePeriod.String()。

編輯:

從您的最新編輯來看,我想我看到了您的第二期。您的循環(huán)每次都會替換...Global字符串變量,因此您只會獲得傳遞給 的切片中的最后一個值range。由于您的切片長度相同,因此您最好使用以下內容:

resultMapPriodTest := gjson.Get(jsonString,tempPayments + "#.Date")

resultContractsSubmittedTest := gjson.Get(jsonString, tempPayments + "#.ContractsSubmitted")


dateArray := resultMapPriodTest.Array()[1:13]

contractsArray := resultContractsSubmittedTest.Array()[1:13]

for i := 0; i<len(dateArray); i++ {

? ? d := dateArray[i].String()

? ? c := contractsArray[i].String()

? ? fmt.Printf("%s |? ? ? ? %s? ? ? ? ? ? ? \t|", d, c)

}


查看完整回答
反對 回復 2023-05-08
  • 2 回答
  • 0 關注
  • 144 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號