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.