我有一個這樣的結(jié)構(gòu):type Headers struct { header string valueFromCalculation string value float64}我需要三個切片,每個切片都有值:var headerLabels []stringvar values []float64var valueFromCalculation []string[January February March April May June July August September TOTAL][175 167 148 142 125 114 130 120 30 1151][15% 15% 13% 12% 11% 10% 11% 10% 3%]現(xiàn)在我想通過組合這些來創(chuàng)建一個新的 Headers 片段。有一個問題,我相信我正在解決 - valueFromCalcuation 的長度比其余切片少 1要創(chuàng)建新切片,我想這樣做:sliceOfHeaders := []*Headers{}for i := 0; i <= len(headerLabels); i++ {headerEntry := new(Headers)headerEntry.header = headerLabels[i]headerEntry.value = values[i]if i == len(headerLabels) { headerEntry.valueFromCalculation = ""} else { headerEntry.valueFromCalculation = valueFromCalculation[i]}sliceOfHeaders = append(sliceOfHeaders, headerEntry)}它拋出以下錯誤:“恐慌:運行時錯誤:索引超出范圍”怎么會這樣?我正在考慮 valueFromCalculation 長度比其他結(jié)構(gòu)屬性少一個的索引問題在這里你可以看到我想開始循環(huán)之前的輸出:header --> [January February March April May June July August September TOTAL]value --> [175 167 148 142 125 114 130 120 30 1151]valueFromCalculation --> [15% 15% 13% 12% 11% 10% 11% 10% 3%]header length --> 10value length --> 10valueFromCalculation length --> 9請問有人可以幫我嗎?我看不出我做錯了什么我正在考慮第三個屬性的長度比其余屬性少 1
1 回答

素胚勾勒不出你
TA貢獻1827條經(jīng)驗 獲得超9個贊
看來您在 headerLabels 上循環(huán)一個索引的時間太長了。
嘗試更改 i <= len(headerLabels)
為i < len(headerLabels)
和
if i == len(headerLabels)
到if i == len(headerLabels) - 1
- 1 回答
- 0 關(guān)注
- 142 瀏覽
添加回答
舉報
0/150
提交
取消