Junior — Middle
Hash tablosundan kimlik numarasına göre sıralanmış değerleri nasıl çıkarabiliriz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go'da, hash tablosu map tipi kullanılarak uygulanır ve bu, yineleme sırasında öğelerin sırasını garanti etmez. Anahtar (örneğin, kimlik) sıralı değerler almak için:
- Haritadan tüm anahtarları bir dilim (slice) içine çıkarın.
sortfonksiyonunu kullanarak anahtar dilimini sıralayın.- Sıralanmış anahtarlar üzerinde dolaşın ve karşılık gelen değerleri haritadan alın.
Örnek:
package main
import (
"fmt"
"sort"
)
func main() {
data := map[int]string{
3: "üç",
1: "bir",
2: "iki",
}
// Anahtarları çıkar
keys := make([]int, 0, len(data))
for k := range data {
keys = append(keys, k)
}
// Anahtarları sırala
sort.Ints(keys)
// Sıralanmış anahtarlar üzerinde dolaş
for _, k := range keys {
fmt.Printf("%d: %s\n", k, data[k])
}
}
Bu şekilde, kimliğe (anahtar) göre sıralanmış değerler elde edersiniz.