Junior
Go-da əsas məlumat strukturları hansılardır?
sobes.tech Süni İntellekt
AI-dan cavab
Go dilində aşağıdakı əsas (primitive) və birləşmiş (composite) məlumat strukturları mövcuddur:
Əsas:
- Boolean dəyərlər (
bool) - Rəqəmsal tiplər:
- Tam ədədlər (
int,int8,int16,int32,int64,uint,uint8,uint16,uint32,uint64,uintptr) - Onluq ədədlər (
float32,float64) - Kompleks ədədlər (
complex64,complex128) - Byte (
byte-uint8-in takma adı) - Rune (
rune-int32-nin takma adı, Unicode simvolunu təmsil edir)
- Tam ədədlər (
- Stringlər (
string)
Birləşmiş:
- Array (
array)- Sabit ölçülü.
var arr [5]int // 5 tam ədəddən ibarət array - Dilimlər (
slice)- Dinamik ölçülü, array-lərə əsaslanır.
var s []int // inisializasiya olunmamış dilim s = make([]int, 5, 10) // uzunluğu 5, tutumu 10 olan dilim - Xəritələr (
map)- Sıralanmamış açar-dəyər cütlüklərindən ibarət kolleksiya.
m := make(map[string]int) // açarları string, dəyərləri int olan xəritə - Struct-lər (
struct)- Tipli sahələr toplusu.
type Person struct { Name string Age int } - Göstəricilər (
pointer)- Yaddaş hüceyrəsinin ünvanını saxlayır.
var x int = 10 var p *int = &x // p x-ə göstəricidir - Funksiyalar (
func)- Go-da funksiyalar birinci dərəcəli tiplərdir.
type MyFunc func(int) string // funksiyanın tipi - Kanallar (
channel)- Goroutine-lər arasında sinxronizasiya və məlumat mübadiləsi üçün istifadə olunur.
ch := make(chan int) // int üçün buffersiz kanal - İnterfeyslər (
interface)- Bir tipin həyata keçirməli olduğu metodlar toplusunu təmsil edir.
type Reader interface { Read(p []byte) (n int, err error) }
Həmçinin, digər vacib birləşmiş tiplər də mövcuddur, məsələn:
- Bayt dilimləri (
[]byte) - Rune dilimləri (
[]rune)
Bu məlumat strukturları Go-da müxtəlif tapşırıqlar üçün elastiklik və performans təmin edir.