在 Python 中,in 關鍵字可以方便地驗證清單中是否存在元素。另一方面,Go 缺乏明確的等價物。本文探討了在 Go 中實現此類檢查的技術。
一種方法涉及使用集合,它將值對應到未使用的整數值。然而,這需要對每個元素進行人工整數規範,並且不被認為是理想的解決方案。
更優雅的方法是利用字串到布林值的對應。映射作為一個集合,映射中缺少鍵值對相當於 false,可以解釋為該元素不在列表中。
valid := map[string]bool{"red": true, "green": true, "yellow": true, "blue": true} if valid[x] { fmt.Println("found") } else { fmt.Println("not found") }
注意:
為了提高大型清單的效率,請考慮使用 for range 循環初始化映射或建立一個無類型常數來最佳化布林值作業。
var t = true valid := map[string]bool{"red": t, "green": t, "yellow": t, "blue": t}
以上是如何有效檢查 Go 清單中的值是否存在?的詳細內容。更多資訊請關注PHP中文網其他相關文章!