Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kembalikan kunci peringkat atas dari peta menggunakan parameter jenis generik

Kembalikan kunci peringkat atas dari peta menggunakan parameter jenis generik

WBOY
WBOYke hadapan
2024-02-08 20:42:18452semak imbas

Kembalikan kunci peringkat atas dari peta menggunakan parameter jenis generik

Kandungan soalan

Saya mempunyai kaedah berikut yang mengembalikan jenis 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
}

Bagaimana saya boleh menggunakan semula kaedah ini jika saya mempunyai map 但类型为 map[string]map[string]string. Adakah terdapat cara untuk menyamaratakan kaedah ini kerana semua yang akan dilakukan ialah mengembalikan kunci peringkat atas dari peta.


Jawapan betul


Dengan go 1.18+, anda boleh menggunakan jenis parameter:

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

Atas ialah kandungan terperinci Kembalikan kunci peringkat atas dari peta menggunakan parameter jenis generik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam