Junior — Middle
Ինչպես ճիշտ ստեղծել և սկսել slices-երը Go-ում?
sobes.tech AI
Պատասխան AI-ից
Go լեզվում, կտորները (slices) դինամիկ տվյալների կառուցվածքներ են, որոնք ներկայացնում են հղում դեպի զանգված՝ նշելով երկարությունը և կարողությունը:
Կտորները կարող են ստեղծվել և սկզբնապես հարմարեցվել տարբեր եղանակներով:
- Կտորի հայտարարում առանց սկզբնական արժեքների (nil-կտոր):
var s []int // nil-կտոր, երկարությունը և կարողությունը 0
- Կտորի սկզբնական արժեքների օգտագործմամբ:
s := []int{1, 2, 3} // երկարությամբ 3 կտոր
- Ստեղծում է
makeֆունկցիայի միջոցով:
s := make([]int, 5) // երկարությամբ 5, լրացված զրոյական արժեքներով
s2 := make([]int, 3, 10) // երկարությամբ 3, կարողությամբ 10
make ֆունկցիան հատկացում է զանգվածի հիշողություն և վերադարձնում հղում դեպի այն:
- Ստեղծում է զանգվածից կտոր:
arr := [5]int{1, 2, 3, 4, 5}
s := arr[1:4] // կտոր՝ տարրերի, որոնց ինդեքսները 1, 2, 3
Կարևոր է հիշել, որ կտորները հղումներ են զանգվածներին, ուստի փոփոխությունները կտորում փոխում են նաև սկզբնական զանգվածը:
Օրինակ՝
package main
import "fmt"
func main() {
s := make([]int, 3, 5)
fmt.Println(s) // [0 0 0]
fmt.Println(len(s)) // 3
fmt.Println(cap(s)) // 5
s = append(s, 4, 5)
fmt.Println(s) // [0 0 0 4 5]
fmt.Println(len(s)) // 5
fmt.Println(cap(s)) // 5
}
Այս մոտեցումը թույլ է տալիս արդյունավետ աշխատել դինամիկ զանգվածների հետ Go-ում: