Sobes.tech
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:

  1. Haritadan tüm anahtarları bir dilim (slice) içine çıkarın.
  2. sort fonksiyonunu kullanarak anahtar dilimini sıralayın.
  3. 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.