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.
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 }
//m.sbmmt.com/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!