Junior
Kādas ir galvenās datu struktūras Go valodā?
sobes.tech AI
Atbilde no AI
Go valodā ir šādas galvenās iebūvētās (primitive) un sastāvdaļu (composite) datu struktūras:
Iebūvētās:
- Boole (
bool) - Skaitliskie tipi:
- Veseli skaitļi (
int,int8,int16,int32,int64,uint,uint8,uint16,uint32,uint64,uintptr) - Peldošā punkta skaitļi (
float32,float64) - Komplekss skaitļi (
complex64,complex128) - Baits (
byte- псевдонимuint8) - Rune (
rune- псевдониmint32, pārstāv Unicode simbolu)
- Veseli skaitļi (
- Rindas (
string)
Sastāvdaļas:
- Masīvi (
array)- Noteikta izmēra.
var arr [5]int // 5 veselu skaitļu masīvs - Sēklas (
slice)- Dinamisks izmērs, balstīts uz masīviem.
var s []int // nenoteikts sēkla s = make([]int, 5, 10) // 5 garuma, 10 ietilpības sēkla - Kartes (
map)- Neordinēta pāru kolekcija ar atslēgām un vērtībām.
m := make(map[string]int) // karte ar atslēgām `string` un vērtībām `int` - Struktūras (
struct)- Tipizēta lauku kolekcija.
type Person struct { Name string Age int } - Norādes (
pointer)- Glabā atmiņas adresi.
var x int = 10 var p *int = &x // p norāda uz x - Funkcijas (
func)- Go valodā funkcijas ir pirmās klases tipi:
type MyFunc func(int) string // funkcijas tips - Kanāli (
channel)- Izmanto sinhronizācijai un datu apmaiņai starp gorutinām.
ch := make(chan int) // bezbuferu kanāls int tipam - Interfeisi (
interface)- Apzīmē metožu kopumu, ko tips ir jārealizē:
type Reader interface { Read(p []byte) (n int, err error) }
Tāpat ir vērts pieminēt citus svarīgus sastāvdaļu tipus:
- Baitu sēklas (
[]byte) - Rune sēklas (
[]rune)
Šīs datu struktūras nodrošina elastību un veiktspēju plašam uzdevumu spektram Go valodā.