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.