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

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

無法將 nil 轉(zhuǎn)換為類型字符串

無法將 nil 轉(zhuǎn)換為類型字符串

Go
萬千封印 2023-05-22 15:45:49
我在中間件函數(shù)中有這段代碼:params := r.URL.Query()tok := params["x-huru-api-token"][0];if tok == nil {    tok := r.Header.Get("x-huru-api-token")}但我收到此錯(cuò)誤:有人知道那是什么嗎?
查看完整描述

2 回答

?
楊魅力

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

該值nil不是 a 的有效值string。如果您想回退到缺少值和空值的標(biāo)題,請使用以下代碼:


params := r.URL.Query()

tok := params.Get("x-huru-api-token")

if tok == "" {

    tok = r.Header.Get("x-huru-api-token")

}

如果您只想在缺少查詢參數(shù)時(shí)回退到標(biāo)頭,請使用以下內(nèi)容:


params := r.URL.Query()

var tok string

if values, ok := params["x-huru-api-token"]; ok && len(values) > 0 {

   tok = values[0]  // note that tok can be the empty string ""

} else {

   tok = r.Header.Get("x-huru-api-token")

}

請注意此答案中的代碼與問題中的一個(gè)區(qū)別。tok這個(gè)答案在 if 語句中使用賦值來設(shè)置。問題中的代碼使用了簡短的變量聲明。短變量聲明將無法編譯,因?yàn)槲词褂?if 語句中新聲明的變量。


查看完整回答
反對 回復(fù) 2023-05-22
?
元芳怎么了

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

String 不是 Go 中的指針類型,因此它不能是nil。字符串的零值為空字符串 ("")。


正確的代碼應(yīng)該是:


params := r.URL.Query()


tok := params["x-huru-api-token"][0];


if tok == "" {

    tok := r.Header.Get("x-huru-api-token")

}


查看完整回答
反對 回復(fù) 2023-05-22
  • 2 回答
  • 0 關(guān)注
  • 295 瀏覽

添加回答

舉報(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)