我知道我可以在地圖迭代m的,for k, v := range m { ... }并尋找鑰匙,但是有沒有更有效的方法來測試地圖中鑰匙的存在?
3 回答

holdtom
TA貢獻1805條經驗 獲得超10個贊
一行答案:
if val, ok := dict["foo"]; ok { //do something here }
解釋:
if
Go中的語句可以同時包含條件和初始化語句。上面的示例同時使用:
初始化兩個變量-
val
將接收來自映射的“ foo”值或“零值”(在這種情況下為空字符串),并且ok
將接收一個布爾值,true
如果在映射中實際存在“ foo” ,則該布爾值將設置為計算
ok
,true
如果“ foo”在地圖中,則為
如果映射中確實存在“ foo”,則if
語句的主體將被執行,并且val
在該作用域內是本地的。
- 3 回答
- 0 關注
- 256 瀏覽
添加回答
舉報
0/150
提交
取消