Junior
Koje su glavne strukture podataka u Go?
sobes.tech АИ
Одговор од АИ
U jeziku Go, postoje sljedeće osnovne (primitivne) i složene (kompozitne) strukture podataka:
Primitivne:
- Logičke vrijednosti (
bool) - Numerički tipovi:
- Cijeli brojevi (
int,int8,int16,int32,int64,uint,uint8,uint16,uint32,uint64,uintptr) - Brojevi sa pokretnom zarezom (
float32,float64) - Kompleksni brojevi (
complex64,complex128) - Byte (
byte- alias zauint8) - Rune (
rune- alias zaint32, predstavlja Unicode znak)
- Cijeli brojevi (
- Nizovi (
string)
Složene:
- Nizovi (
array)- Fiksne veličine.
var arr [5]int // niz od 5 cijelih brojeva - Reznice (
slice)- Dinamičke veličine, zasnovane na nizovima.
var s []int // neinicijalizirani reznica s = make([]int, 5, 10) // reznica dužine 5 i kapaciteta 10 - Mape (
map)- Neseštrirana kolekcija parova ključ-vrijednost.
m := make(map[string]int) // mapa sa ključevima tipa string i vrijednostima int - Strukture (
struct)- Tipizirana kolekcija polja.
type Person struct { Name string Age int } - Pokazivači (
pointer)- Čuvaju adresu memorijske ćelije.
var x int = 10 var p *int = &x // p pokazuje na x - Funkcije (
func)- U jeziku Go, funkcije su tipovi prve klase.
type MyFunc func(int) string // tip funkcije - Kanali (
channel)- Koriste se za sinhronizaciju i razmjenu podataka između gorutina.
ch := make(chan int) // nebufferirani kanal za int - Interfejsi (
interface)- Predstavljaju skup metoda koje tip mora implementirati.
type Reader interface { Read(p []byte) (n int, err error) }
Takođe je važno spomenuti i druge važne složene tipove, kao što su:
- Slici bajtova (
[]byte) - Slici rune (
[]rune)
Ove strukture podataka pružaju fleksibilnost i performanse za širok spektar zadataka u jeziku Go.