Junior
Ի՞նչ հիմնական տվյալների կառուցվածքներ կան Go-ում:
sobes.tech AI
Պատասխան AI-ից
Go-ում կան հետևյալ հիմնական ներքին (primitive) և կոմպոզիտային (composite) տվյալների կառուցվածքներ:
Ներքին:
- Բուլյան (
bool) - Թվային տիպեր:
- Հատուկ թվեր (
int,int8,int16,int32,int64,uint,uint8,uint16,uint32,uint64,uintptr) - Տարածման թվեր (
float32,float64) - Կոմպլեքս թվեր (
complex64,complex128) - Բայթ (
byte- псевдонимuint8) - Ռուն (
rune- псевдонимint32, ներկայացնում է Unicode նշան)
- Հատուկ թվեր (
- Տողեր (
string)
Կոմպոզիտային:
- Մասիվներ (
array)- Հաստատված չափով.
var arr [5]int // 5 ամբողջ թվերից բաղկացած զանգված - Սլայսեր (
slice)- Դինամիկ չափ, հիմնված զանգվածների վրա.
var s []int // անգործասլայս s = make([]int, 5, 10) // 5 երկարությամբ սլայս, կարողությամբ 10 - Քարտեր (
map)- Անկարգավորված զույգերի հավաքածու՝ բանալի-արժեք զույգերով.
m := make(map[string]int) // քարտ, որի բանալիները `string`, արժեքները `int` - Կառուցվածքներ (
struct)- Տիպավորված դաշտերի հավաքածու.
type Person struct { Name string Age int } - Ցկներ (
pointer)- Պահպանում է հիշողության բջջի հասցեն.
var x int = 10 var p *int = &x // p ցույց է տալիս x-ին - Ֆունկցիաներ (
func)- Գոլանգում ֆունկցիաները առաջին կարգի տիպեր են:
type MyFunc func(int) string // ֆունկցիայի տիպ - Չենելներ (
channel)- Օգտագործվում են սինխրոնիզացիայի և տվյալների փոխանակման համար գորուտինների միջև.
ch := make(chan int) // անբեռնված չենել `int` համար - Ինտերֆեյսներ (
interface)- Ներկայացնում են մեթոդների հավաքածու, որոնք տիպը պետք է իրագործի:
type Reader interface { Read(p []byte) (n int, err error) }
Նույնպես պետք է հիշատակել այլ կարևոր կոմպոզիտային տիպեր, ինչպիսիք են՝
- Բայթների սլայս (
[]byte) - Ռուների սլայս (
[]rune)
Այս տվյալների կառուցվածքները ապահովում են ճկունություն և արդյունավետություն Go-ում լայնածավալ խնդիրների համար։