Junior
Kokios yra pagrindinės duomenų struktūros Go kalboje?
sobes.tech AI
Atsakymas iš AI
Go kalboje yra šios pagrindinės įvestinės (primitive) ir sudėtinės (composite) duomenų struktūros:
Įvestinės:
- Boolean (
bool) - Skaitmeniniai tipai:
- Sveikieji skaičiai (
int,int8,int16,int32,int64,uint,uint8,uint16,uint32,uint64,uintptr) - Slankiojo kablelio skaičiai (
float32,float64) - Kompleksiniai skaičiai (
complex64,complex128) - baitas (
byte- псевдонимuint8) - rune (
rune- псевдонимint32, atstovauja Unicode simbolį)
- Sveikieji skaičiai (
- Eilutės (
string)
Sudėtinės:
- Masyvai (
array)- Nustatyto dydžio.
var arr [5]int // 5 sveikųjų skaičių masyvas - Slenksčiai (
slice)- Dinamiškas dydis, pagrįstas masyvais.
var s []int // neinitializuotas slenkstis s = make([]int, 5, 10) // 5 ilgio, 10 talpos slenkstis - Žemėlapiai (
map)- Neporūšiuota porų rinkinys su raktų-vertės poromis.
m := make(map[string]int) // žemėlapis su raktų tipu string ir reikšmių int - Struktūros (
struct)- Tipizuota laukų kolekcija.
type Person struct { Name string Age int } - Nuorodos (
pointer)- Laikoma atminties adreso.
var x int = 10 var p *int = &x // p nurodo į x - Funkcijos (
func)- Go kalboje funkcijos yra pirmosios klasės tipai:
type MyFunc func(int) string // funkcijos tipas - Kanalai (
channel)- Naudojami sinchronizacijai ir duomenų mainams tarp gorutinų.
ch := make(chan int) // nebuferizuotas kanalas int tipui - Interfeisai (
interface)- Atstovauja metodų rinkinį, kurį tipas turi įgyvendinti:
type Reader interface { Read(p []byte) (n int, err error) }
Taip pat verta paminėti kitus svarbius sudėtinius tipus:
- baitų slankusis (
[]byte) - rune slankusis (
[]rune)
Šios duomenų struktūros užtikrina lankstumą ir našumą plačiam užduočių spektrui Go kalboje.