Sobes.tech
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")
}