首頁  >  文章  >  後端開發  >  使用通用類型參數從映射返回頂級鍵

使用通用類型參數從映射返回頂級鍵

WBOY
WBOY轉載
2024-02-08 20:42:18467瀏覽

使用通用類型參數從映射返回頂級鍵

問題內容

我有以下方法,它傳回 map 中的所有鍵。但它接受的參數必須是 map[string]string 類型。

func GetAllKeys(m map[string]string) []string {
    keys := make([]string, len(m))
    i := 0
    for k := range m {
        keys[i] = k
        i++
    }

    return keys
}

如果我有一個 map 但類型為 map[string]map[string]string,我如何重複使用此方法。有沒有辦法概括這個方法,因為它要做的就是從映射中返回頂級鍵。


正確答案


使用 go 1.18 ,您可以使用 類型參數

func GetAllKeys[K comparable, V any](m map[K]V) []K {
    keys := make([]K, len(m))
    i := 0
    for k := range m {
        keys[i] = k
        i++
    }
    return keys
}

https://www.php.cn/link/3eb46aa5d93b7a5939616af91addfa88

#

以上是使用通用類型參數從映射返回頂級鍵的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:stackoverflow.com。如有侵權,請聯絡admin@php.cn刪除