Sobes.tech
Junior — Middle

Dastur bajarilayotganda, slice shaklida uzatilgan massivning mazmunini o'zgartirish mumkinmi?

sobes.tech AI

AIdan javob

Ha, massivning mazmuni, slice shaklida o'tkazilgan bo'lsa, dastur davomida o'zgartirilishi mumkin. Go'da slice — bu massivga ko'rsatkich, uzunlik va sig'imi bo'lgan tuzilma. Slice elementlaridagi o'zgarishlar asl massivga ta'sir qiladi, chunki slice uning ma'lumotlariga ko'rsatkich bo'lib xizmat qiladi.

Misol:

package main
import "fmt"

func modifySlice(s []int) {
    s[0] = 100
}

func main() {
    arr := [3]int{1, 2, 3}
    slice := arr[:]
    modifySlice(slice)
    fmt.Println(arr) // Chiqishi: [100 2 3]
}

Shu sababli, slice'ni o'zgartirish asl massivni ham o'zgartiradi.