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

Kembalikan kunci peringkat atas dari peta menggunakan parameter jenis generik

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2024-02-08 20:42:18
ke hadapan
562 orang telah melayarinya

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
}
Salin selepas log masuk

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
}
Salin selepas log masuk

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 Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan