Maison > développement back-end > Golang > Renvoie les clés de niveau supérieur de la carte à l'aide de paramètres de type génériques

Renvoie les clés de niveau supérieur de la carte à l'aide de paramètres de type génériques

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2024-02-08 20:42:18
avant
562 Les gens l'ont consulté

Renvoie les clés de niveau supérieur de la carte à laide de paramètres de type génériques

Contenu de la question

J'ai la méthode suivante qui renvoie le type 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
}
Copier après la connexion

Comment puis-je réutiliser cette méthode si j'ai un map 但类型为 map[string]map[string]string. Existe-t-il un moyen de généraliser cette méthode puisque tout ce qu'elle ferait serait de renvoyer la clé de niveau supérieur de la carte.


Bonne réponse


Avec go 1.18+, vous pouvez utiliser les paramètres de type :

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
}
Copier après la connexion

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal