Senior
Co możesz powiedzieć o mapach w Go?
sobes.tech AI
Odpowiedź od AI
W Go map jest wbudowanym typem danych, który implementuje tablicę asocjacyjną lub słownik, gdzie klucze są przypisywane do wartości.
Cechy mapy w Go:
- Klucze i wartości mają określone typy, na przykład,
map[string]int— klucze typu string, wartości typu int. - Mapa jest inicjalizowana za pomocą funkcji
make, na przykład:m := make(map[string]int). - Dostęp do elementów przez
m[key]. - Jeśli klucz nie istnieje, zwracana jest wartość zerowa typu wartości.
- Można sprawdzić obecność klucza za pomocą drugiej wartości zwrotnej:
val, ok := m[key]. - Mapy nie są uporządkowane, kolejność iteracji jest losowa.
- Mapy nie są bezpieczne w wielowątkowym środowisku, do równoczesnego dostępu należy użyć synchronizacji.
Przykład:
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)
}
// Usunięcie klucza
delete(m, "banana")
}