Sobes.tech
Junior

Jaké jsou hlavní datové struktury v Go?

sobes.tech AI

Odpověď od AI

V jazyce Go existují následující základní (primitivní) a složené (kompozitní) datové struktury:

Primitivní:

  • Logické hodnoty (bool)
  • Číselné typy:
    • Celá čísla (int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, uintptr)
    • Čísla s plovoucí desetinnou čárkou (float32, float64)
    • Složená čísla (complex64, complex128)
    • Byte (byte - alias uint8)
    • Rune (rune - alias int32, představuje znak Unicode)
  • Řetězce (string)

Složené:

  • Pole (array)
    • Pevná velikost.
    var arr [5]int // pole 5 celých čísel
    
  • Řez (slice)
    • Dynamická velikost, založená na polích.
    var s []int // neinicializovaný řez
    s = make([]int, 5, 10) // řez délky 5 s kapacitou 10
    
  • Mapy (map)
    • Neseřazená kolekce párů klíč-hodnota.
    m := make(map[string]int) // mapa s klíči string a hodnotami int
    
  • Struktury (struct)
    • Typovaná kolekce polí.
    type Person struct {
        Name string
        Age  int
    }
    
  • Ukazatele (pointer)
    • Ukládají adresu paměťové buňky.
    var x int = 10
    var p *int = &x // p ukazuje na x
    
  • Funkce (func)
    • Ve jazyce Go jsou funkce prvotřídními typy.
    type MyFunc func(int) string // typ funkce
    
  • Kanály (channel)
    • Používají se ke synchronizaci a výměně dat mezi gorutinami.
    ch := make(chan int) // nevybavený kanál pro int
    
  • Rozhraní (interface)
    • Představují sadu metod, které musí typ implementovat.
    type Reader interface {
        Read(p []byte) (n int, err error)
    }
    

Je také důležité zmínit další důležité složené typy, například:

  • Slicy bajtů ([]byte)
  • Slicy rune ([]rune)

Tyto datové struktury poskytují flexibilitu a výkon pro širokou škálu úkolů v jazyce Go.