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

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

不能使用 (type interface{}) 作為類型 []Type

不能使用 (type interface{}) 作為類型 []Type

Go
哈士奇WWW 2022-05-23 17:11:49
我有這個代碼:  requestHistory := claims["request_history"]  if requestHistory == nil {     requestHistory = []float64{}  }  requestHistory, ok = requestHistory.([]float64)  if !ok {    return getBytes(http.StatusForbidden, cptypes.ErrorResponseData{      ErrId:  "7d700df9-6cc9-447c-a8ce-37701fd71a8c",      Reason: "missing created_at value in jwt claims.",    })  }  requestHistory = append(requestHistory, float64(time.Now().Unix()))  // error here!  if len(requestHistory) > 25 {   // error here too!      //  }我無法弄清楚為什么會收到此錯誤:不能使用“requestHistory”(類型接口{})作為類型 []Type和len 的參數(shù)無效這種重新分配似乎很明顯: requestHistory, ok = requestHistory.([]float64)是不是實際上在范圍下面呢?這里發(fā)生了非常奇怪的golang事情
查看完整描述

1 回答

?
溫溫醬

TA貢獻(xiàn)1752條經(jīng)驗 獲得超4個贊

這是一些奇怪的 golang 事情:


  requestHistory := claims["request_history"]    // 1


  if requestHistory == nil {

     requestHistory = []float64{}

  }


  requestHistory, ok = requestHistory.([]float64)   // 2

標(biāo)記為 // 2 的行不會將變量重新分配給新類型,它保持interface{}從第 // 1 行聲明的原始類型


最終這就是編程錯誤的原因,正確的做法是從這里開始:


requestHistory, ok := claims["request_history"].([]interface{})

claims類型在哪里map[string]interface{}


查看完整回答
反對 回復(fù) 2022-05-23
  • 1 回答
  • 0 關(guān)注
  • 233 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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