Sobes.tech
Junior — Middle

Tudnád leírni a Map adatszerkezetek kulcsainak fő jellemzőit és használatuk sajátosságait?

sobes.tech MI

Válasz az MI-től

Go (Golang) nyelvben a map beépített adattípus, amely egy asszociatív tömböt vagy szótárat reprezentál, amely kulcs-érték párokat tárol.

A map kulcsainak fő jellemzői:

  • A kulcs típusa összehasonlítható kell legyen: a kulcsoknak támogatniuk kell az == összehasonlító műveletet. Ez azt jelenti, hogy a kulcsok lehetnek olyan típusok, mint a stringek, számok, mutatók, struktúrák, feltéve, hogy minden mezőjük összehasonlítható.
  • Nem használhatók szeletek, térképek vagy függvények kulcsként, mivel ezek nem összehasonlíthatók.
  • A kulcsok egyediek: egy map-ben nem lehet két azonos kulcs.

Példa egy string típusú kulcsokat tartalmazó map létrehozására és használatára:

package main
import "fmt"

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

    fmt.Println(m["apple"]) // 5-öt ír ki

    // Kulcs létezésének ellenőrzése
    val, ok := m["pear"]
    if !ok {
        fmt.Println("'pear' kulcs nem található")
    } else {
        fmt.Println(val)
    }
}

Ezért a map kulcsainak használatakor fontos olyan típusokat választani, amelyek támogatják az összehasonlítást, hogy elkerüljük a fordítási hibákat.