Junior — Middle
Go tilida slices'larni qanday to'g'ri yaratish va boshlash kerak?
sobes.tech AI
AIdan javob
Go tilida, dilimlar (slices) — bu dinamik ma'lumotlar tuzilmalari bo'lib, ular uzunligi va quvvati belgilangan massivga havolani ifodalaydi.
Dilimlar bir nechta usul bilan yaratilishi va boshlanishi mumkin:
- Boshlang'ichsiz dilim e'lon qilish (nil-dilim):
var s []int // nil-dilim, uzunligi va quvvati 0
- Literal yordamida dilimni boshlash:
s := []int{1, 2, 3} // uzunligi 3 bo'lgan dilim
- make funksiyasi yordamida dilim yaratish:
s := make([]int, 5) // uzunligi 5, nol bilan to'ldirilgan dilim
s2 := make([]int, 3, 10) // uzunligi 3, quvvati 10
make funksiyasi orqa fonda massiv ajratadi va unga ishora qiluvchi dilimni qaytaradi.
- Massivdan dilim yaratish:
arr := [5]int{1, 2, 3, 4, 5}
s := arr[1:4] // indekslari 1,2,3 bo'lgan elementlar dilimi
Dilimlar massivlarga havola ekanligini va dilimdagi elementlarni o'zgartirish oriq massivni ham o'zgartirishini unutmang.
Misol uchun:
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
}
Ushbu yondashuv Go'da dinamik massivlar bilan samarali ishlash imkonini beradi.