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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

golang,int 類型不支持索引

golang,int 類型不支持索引

Go
楊__羊羊 2021-12-13 10:49:11
我有一部分代碼有問題。我正在寫狂歡框架(要清楚)。這是一個(gè) Worker go 例程,我希望它做幾件事:根據(jù)來源,切換 stat 變量的結(jié)構(gòu)類型,那會(huì)來。我做了一個(gè)開關(guān),但在所有其他代碼都正確之前,我真的不知道開關(guān)是否正確編寫。我獲取日期的緩存,并將其放入新的工作項(xiàng)中。我將作品發(fā)送到頻道這是我現(xiàn)在得到的:func worker(in <-chan Task, out chan <- Work, wg *sync.WaitGroup) {    for t := range in {        for sourceName, charts := range t.Request.Charts {            var stat interface{}            switch sourceName {            case "noagg":                 stat = stat.([]NoaggModel)            case "oracle":                stat = stat.([]OracleModel)            default:                panic("Invalid type for Work model!")            }            w := Work{Name:"", Data:""}            err := cache.Get(string(sourceName)+"_"+string(t.Date), &stat);            for chart := range charts{                w.Name = chart["name"]                if err == nil{                    w.Data = countDataByName( stat, t.Request.Filters, string(chart["name"]))                }                out <- w            }        }    }    wg.Done() // this worker is now done; let the WaitGroup know.}但現(xiàn)在我得到了錯(cuò)誤 invalid operation: chart["name"] (type int does not support indexing)但我有結(jié)構(gòu):type Chart struct {    Name string           `json:"name"`    Type string           `json:"type"`}type Filter struct {    DayStart string `json:"dayStart"`    DayEnd string `json:"dayEnd"`    TimePeriods interface{} `json:"timePeriods"`    Lines []string `json:"lines"`}type Task struct {    Date string    Request ChartOptins}type Work struct {    Name string    Data interface{}}如果緩存結(jié)構(gòu)的類型可以不同,我應(yīng)該如何以更好的方式編寫正確的開關(guān),為什么我的名字添加不好并且調(diào)用錯(cuò)誤?
查看完整描述

1 回答

?
萬千封印

TA貢獻(xiàn)1891條經(jīng)驗(yàn) 獲得超3個(gè)贊

切片中的 for 缺少一個(gè)變量

for chart := range charts{

在切片上迭代時(shí),第一個(gè)變量是鍵,第二個(gè)是您想要的實(shí)際值。在這種情況下,您可以省略鍵(一個(gè) int),因此正確的指令應(yīng)該是

for _, chart := range charts{


查看完整回答
反對(duì) 回復(fù) 2021-12-13
  • 1 回答
  • 0 關(guān)注
  • 362 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)