Junior — Middle
შესაძლებელია თუ არა გო ენაში დინამიური მასივის განხორციელება ან გამოყენება და როგორ კეთდება ეს?
sobes.tech AI
პასუხი AI-სგან
Go ენისა, დინამიური მასივები განახორციელებულია სლაისების (slices) გამოყენებით. სლაისი არის სტრუქტურა, რომელიც შეიცავს მითითებას მასივზე, სიგრძეს და მოცულობას, და საშუალებას აძლევს ზომის დინამიკურ ცვლილებას.
დინამიკური მასივის შექმნის და გამოყენების მაგალითი:
package main
import "fmt"
func main() {
var s []int // ცარიელი სლაისი
s = append(s, 1) // ელემენტის დამატება
s = append(s, 2, 3) // რამდენიმე ელემენტის დამატება
fmt.Println(s) // [1 2 3]
// შეიძლება შექმნათ სლაისი საწყის მოცულობით
s2 := make([]int, 0, 5) // სიგრძე 0, მოცულობა 5
s2 = append(s2, 10, 20)
fmt.Println(s2) // [10 20]
}
სლაისები ავტომატურად ფართოვდებიან, როდესაც დამატებით ელემენტებს იყენებთ append-ით; საჭიროების შემთხვევაში, გამოყოფილი იქნება ახალი, დიდი ზომის მასივი და მონაცემები გადაიტანება.
ამიტომ, Go-ში დინამიური მასივისთვის, საკმარისია გამოიყენოთ სლაისები და ფუნქცია append.