Sobes.tech
Junior

Aké sú hlavné dátové štruktúry v Go?

sobes.tech AI

Odpoveď od AI

V jazyku Go existujú nasledujúce základné (primitívne) a zložené (kompozitné) dátové štruktúry:

Primitívne:

  • Logické hodnoty (bool)
  • Číselné typy:
    • Celé čísla (int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, uintptr)
    • Čísla s pohyblivou čiarkou (float32, float64)
    • Komplexné čísla (complex64, complex128)
    • Byte (byte - alias pre uint8)
    • Rune (rune - alias pre int32, predstavuje Unicode znak)
  • Reťazce (string)

Zložené:

  • Polia (array)
    • Pevnej veľkosti.
    var arr [5]int // pole z 5 celých čísel
    
  • Rez (slice)
    • Dynamickej veľkosti, založené na poliach.
    var s []int // neinicializovaný rez
    s = make([]int, 5, 10) // rez s dĺžkou 5 a kapacitou 10
    
  • Mapy (map)
    • Neusporiadaná kolekcia párov kľúč-hodnota.
    m := make(map[string]int) // mapa s kľúčmi string a hodnotami int
    
  • Štruktúry (struct)
    • Typizovaná kolekcia polí.
    type Person struct {
        Name string
        Age  int
    }
    
  • Ukazovatele (pointer)
    • Ukladajú adresu pamäťovej bunky.
    var x int = 10
    var p *int = &x // p ukazuje na x
    
  • Funkcie (func)
    • Vo Go sú funkcie prvotriedne typy.
    type MyFunc func(int) string // typ funkcie
    
  • Kanály (channel)
    • Používajú sa na synchronizáciu a výmenu dát medzi gorutinami.
    ch := make(chan int) // nebufferovaný kanál pre int
    
  • Rozhrania (interface)
    • Predstavujú súbor metód, ktoré musí typ implementovať.
    type Reader interface {
        Read(p []byte) (n int, err error)
    }
    

Je tiež dôležité spomenúť ďalšie dôležité zložené typy, ako sú:

  • Slicy bajtov ([]byte)
  • Slicy rune ([]rune)

Tieto dátové štruktúry poskytujú flexibilitu a výkon pre širokú škálu úloh v jazyku Go.