首頁 >後端開發 >Golang >如何有效地檢查 Go 清單中的價值成員資格?

如何有效地檢查 Go 清單中的價值成員資格?

Susan Sarandon
Susan Sarandon原創
2024-12-02 01:08:10956瀏覽

How Can I Efficiently Check for Value Membership in Go Lists?

檢查Go 中清單中的值成員資格

在Python 中,in 關鍵字可以方便地檢查清單中是否存在某個值。 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")
}

使用切片最佳化

如果您有大量有效值,請考慮使用切片將映射值初始化為true:

for _, v := range []string{"red", "green", "yellow", "blue"} {
    valid[v] = true
}

Shorter Initialization使用常數

或者,您可以創建一個無類型或布林常數並進一步優化初始化:

const t = true
valid := map[string]bool{"red": t, "green": t, "yellow": t, "blue": t}

透過採用這些技術之一,您可以有效地檢查一個值是否包含在Go 中的清單中,提供與Python 的in 關鍵字類似的功能。

以上是如何有效地檢查 Go 清單中的價值成員資格?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn