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- aliasuint8) - Rune (
rune- aliasint32, představuje znak Unicode)
- Celá čísla (
- Ř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.