1 回答

TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個(gè)贊
這是因?yàn)槟谌∠幗M到映射中,并且映射是無(wú)序的,就像 JSON 對(duì)象一樣。
因此,每次循環(huán)時(shí),您都會(huì)得到不同的值。TimeSeriesDailyTimeSeriesDaily
您可以通過(guò)以下代碼解決此問(wèn)題,
timeSeries := make([]map[string]DataElement, 0)
for date, data := range y.TimeSeriesDaily {
timeSeries = append(timeSeries, map[string]DataElement{date: data})
}
sort.Slice(timeSeries, func(i, j int) bool {
layout := "2006-01-02"
var date1 time.Time
for k := range timeSeries[i] {
date1, err = time.Parse(layout, k)
if err != nil {
fmt.Println(err)
}
}
var date2 time.Time
for k := range timeSeries[j] {
date2, err = time.Parse(layout, k)
if err != nil {
fmt.Println(err)
}
}
return date1.Before(date2)
})
for k, v := range timeSeries[len(timeSeries)-1] {
fmt.Println("Closing Date: " + k)
fmt.Println("Closing Price: " + v.FourClose)
}
輸出:
Closing Date: 2021-05-07
Closing Price: 1931.3
repl.it 鏈接:https://replit.com/@RamarajaRamanuj/SortTimeSlice
查看輸出會(huì)很慢,因?yàn)?repl.it 啟動(dòng)需要一些時(shí)間。
在這里,您將遍歷地圖,將條目存儲(chǔ)在切片中,并按日期的升序?qū)η衅M(jìn)行排序。
現(xiàn)在,切片按最早日期作為第一個(gè)元素,最晚日期作為最后一個(gè)元素排序。您只需選擇最后一個(gè)元素即可了解最新的收盤(pán)價(jià)。timeSeries
- 1 回答
- 0 關(guān)注
- 92 瀏覽
添加回答
舉報(bào)