Senior
Co můžeš říct o mapách v Go?
sobes.tech AI
Odpověď od AI
V jazyce Go je mapa vestvený datový typ, který implementuje asociativní pole nebo slovník, kde jsou klíče přiřazeny hodnotám.
Vlastnosti mapy v Go:
- Klíče a hodnoty mají definované typy, například
map[string]int— klíče jsou řetězce, hodnoty celá čísla. - Mapa je inicializována pomocí funkce
make, například:m := make(map[string]int). - Přístup k prvkům přes
m[key]. - Pokud klíč neexistuje, vrací se nulová hodnota typu hodnoty.
- Přítomnost klíče lze ověřit pomocí druhé hodnoty návratu:
val, ok := m[key]. - Mapy nejsou seřazené, pořadí průchodu je libovolné.
- Mapy nejsou bezpečné pro vlákna, pro paralelní přístup je třeba použít synchronizaci.
Příklad:
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)
}
// Odstranění klíče
delete(m, "banana")
}