Junior
Millised on Go peamised andmestruktuurid?
sobes.tech AI
Vastus AI-lt
Go keeles on järgmised põhilised sisseehitatud (primitive) ja koosnevad (composite) andmestruktuurid:
Sisemised:
- Tõeväärtus (
bool) - Arvutüübid:
- Täisarvud (
int,int8,int16,int32,int64,uint,uint8,uint16,uint32,uint64,uintptr) - Ujuvväärtuslikud arvud (
float32,float64) - Kompleksarvud (
complex64,complex128) - bait (
byte- псевдониmuint8) - rune (
rune- псевдониmint32, esindab Unicode sümbolit)
- Täisarvud (
- Ridad (
string)
Koosseis:
- Massiivid (
array)- Kindel suurusega.
var arr [5]int // 5 täisarvust koosnev massiiv - Viilud (
slice)- Dynaamilise suurusega, põhineb massiividel.
var s []int // initsialiseerimata viil s = make([]int, 5, 10) // 5 pikkusega, mahutavusega 10 - Kaardid (
map)- Mitmepoolne kogum võtmete ja väärtustega.
m := make(map[string]int) // kaart, mille võtmed on string ja väärtused int - Struktuurid (
struct)- Tüübitud väljade kogum.
type Person struct { Name string Age int } - Viited (
pointer)- Hoidke mäluaadressi.
var x int = 10 var p *int = &x // p näitab x-le - Funktsioonid (
func)- Go keeles on funktsioonid esimese klassi tüübid:
type MyFunc func(int) string // funktsiooni tüüp - Kanalid (
channel)- Kasutatakse sünkroniseerimiseks ja andmevahetuseks gorutinide vahel.
ch := make(chan int) // buferita kanal int tüüpi - Liidesed (
interface)- Esindavad meetodite kogumit, mida tüüp peab rakendama:
type Reader interface { Read(p []byte) (n int, err error) }
Samuti tasub mainida teisi olulisi koosnevaid tüüpe:
- baitide viil (
[]byte) - rune'i viil (
[]rune)
Need andmestruktuurid tagavad paindlikkuse ja jõudluse laiaulatuslike ülesannete jaoks Go keeles.