Sobes.tech
Junior

Kako pravilno deklarisati mapu (map) u Go?

sobes.tech АИ

Одговор од АИ

Karta se može deklarisati na više načina:

  1. Koristeći var:

    // deklaracija karte bez inicijalizacije
    // vrednost nil
    var myMap map[string]int
    
  2. Koristeći make:

    // deklaracija i inicijalizacija prazne karte
    myMap := make(map[string]int)
    
    // deklaracija i inicijalizacija karte sa zadatom kapacitetom
    // može poboljšati performanse kod velikog broja elemenata
    myMapWithCapacity := make(map[string]int, 100)
    
  3. Koristeći literale:

    // deklaracija i inicijalizacija sa početnim vrednostima
    myMapWithValues := map[string]int{
        "ključ1": 1,
        "ključ2": 2,
    }
    
    // deklaracija i inicijalizacija prazne karte
    // ekvivalentno make(map[string]int)
    emptyMapLiteral := map[string]int{}
    

Razlike između metoda:

Metod Podrazumevana inicijalizacija Dodeljena kapacitet Dodavanje početnih vrednosti
var nil Ne Ne
make Prazna mapa Da Ne
Literal {} Prazna mapa Ne Da

Važno je zapamtiti da mapa deklarisana pomoću var bez inicijalizacije (nil) ne može biti korišćena za dodavanje ili pristup elementima. Ova operacija će izazvati paniku. Potrebno je inicijalizovati je pomoću make ili literala.