Sobes.tech
Senior

Ko vari pastāstīt par kartēm Go valodā?

sobes.tech AI

Atbilde no AI

Go valodā karte ir iebūvēts datu tips, kas īsteno sasaistīto masīvu vai vārdnīcu, kur atslēgas ir saistītas ar vērtībām.

Go kartes īpašības:

  • Atslēgas un vērtības ir noteiktiem tipiem, piemēram, map[string]int — atslēgas ir virknes, vērtības ir veseli skaitļi.
  • Karte tiek inicializēta ar funkciju make, piemēram, m := make(map[string]int).
  • Pieeja elementiem ir ar m[key].
  • Ja atslēga nepastāv, tiek atgriezta vērtības nullvērtība.
  • Atslēgas esamību var pārbaudīt ar otro atgriešanas vērtību: val, ok := m[key].
  • Kartes nav sakārtotas, pārbaudes secība ir nejauša.
  • Kartes nav drošas daudzvītņu vidē, paralēlai piekļuvei nepieciešama sinhronizācija.

Piemērs:

package main
import "fmt"

func main() {
    m := make(map[string]int)
    m["apple"] = 5
    m["banana"] = 3

    val, ok := m["apple"]
    if ok {
        fmt.Println("apple:", val)
    }

    // Atslēgas dzēšana
    delete(m, "banana")
}