Senior
რა არის slice და როგორ განსხვავდება მასივისგან?
sobes.tech AI
პასუხი AI-სგან
Go ენაში, მასივი (array) — ეს არის ფიქსირებული ზომის სტრუქტურა, რომელიც შეიცავს ერთ ტიპის ელემენტებს. მასივის ზომა განსაზღვრულია გამოყოფის დროს და ვერ იცვლება პროგრამის შესრულების დროს.
Slice — ეს არის დინამიური, ზომის ცვლილებადი მასივის ნაჭერი. იგი წარმოადგენს სტრუქტურას, რომელიც შეიცავს მითითებას მასივზე, სიგრძეს და მოცულობას. Slices საშუალებას აძლევს მუშაობა მასივის ქვესამსახურებზე და ავტომატურად იწელება საჭიროების შემთხვევაში.
ძირითადი განსხვავებები:
- ზომა: მასივი აქვს ფიქსირებული ზომა, slice — დინამიური.
- გადაცემა: მასივები გადაეცემა მნიშვნელობით (კოპირებით), slices — მითითებით (მიმართულებით მასივზე).
- მოწესრიგებულობა: slice-ი შეიძლება გაფართოვდეს
appendფუნქციის გამოყენებით, მასივი — არა.
მაგალითი:
var arr [3]int = [3]int{1, 2, 3} // ფიქსირებული ზომის მასივი
var s []int = arr[0:2] // slice, რომელიც მითითებულია მასივის ნაწილზე
s = append(s, 4) // slice-ი გაფართოვდება, საჭიროების შემთხვევაში ახალი მასივი შეიქმნება