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

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

避免需要冗余檢查來映射給定的零值字符串?

避免需要冗余檢查來映射給定的零值字符串?

Go
精慕HU 2022-05-18 14:24:28
我們有一個(gè)map[string]string,我假設(shè)這意味著從地圖中檢索到的字符串的零值是""所以這是否意味著:var userId, ok = params["user_id"];if !ok || userId == "" {    return 422, "Missing user_id in request"}與此相同的邏輯:var userId = params["user_id"];if  userId == "" {    return 422, "Missing user_id in request"}只是確保我的理解是正確的。
查看完整描述

1 回答

?
繁星點(diǎn)點(diǎn)滴滴

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

如果您打算存儲(chǔ)值類型的零值,則不一樣。


看這個(gè)例子:


m := map[string]string{

    "empty": "",

}


if v, ok := m["empty"]; ok {

    fmt.Printf("'empty' is present: %q\n", v)

} else {

    fmt.Println("'empty' is not present")

}

if v, ok := m["missing"]; ok {

    fmt.Printf("'missing' is present: %q\n", v)

} else {

    fmt.Printf("'missing' is not present")

}

它輸出(在Go Playground上嘗試):


'empty' is present: ""

'missing' is not present

確實(shí),如果您從不在地圖中存儲(chǔ)零值,您可以簡(jiǎn)單地使用if m[value] == zeroValue {}. 

可以利用地圖的這種“屬性”來優(yōu)雅地創(chuàng)建集合。

并且使用這種“技術(shù)”還有另一個(gè)優(yōu)點(diǎn):您可以以緊湊的方式檢查多個(gè)鍵的存在(您不能使用特殊的“comma ok”形式來做到這一點(diǎn))。


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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