Sobes.tech
Junior — Middle

Kā no hash tabulas izņemt pēc identifikatora sakārtotas vērtības?

sobes.tech AI

Atbilde no AI

Go valodā haštabula tiek īstenota, izmantojot map tipu, kas neparedz elementu kārtību iterācijas laikā. Lai iegūtu vērtības, kas ir sakārtotas pēc atslēgas (piemēram, identifikatora), jums jā:

  1. Izvelk visas atslēgas no kartes uz saraksta.
  2. Sakārto saraksta atslēgas, izmantojot sort funkciju.
  3. Pārlūko sakārtotos atslēgas un iegūst atbilstošās vērtības no kartes.

Piemērs:

package main

import (
    "fmt"
    "sort"
)

func main() {
    data := map[int]string{
        3: "trīs",
        1: "viens",
        2: "divi",
    }

    // Atslēgu izvilkšana
    keys := make([]int, 0, len(data))
    for k := range data {
        keys = append(keys, k)
    }

    // Atslēgu sakārtošana
    sort.Ints(keys)

    // Pārlūko sakārtotos atslēgas
    for _, k := range keys {
        fmt.Printf("%d: %s\n", k, data[k])
    }
}

Tādā veidā jūs iegūsiet vērtības, sakārtotas pēc identifikatora (atslēgas).