Kembalikan kunci peringkat atas dari peta menggunakan parameter jenis generik

WBOY
Lepaskan: 2024-02-08 20:42:18
ke hadapan
465 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!

sumber:stackoverflow.com
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