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

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

WBOY
發布: 2024-02-08 20:42:18
轉載
492 人瀏覽過

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

問題內容

我有以下方法,它傳回 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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板