Middle+
əsas paket "fmt" paketini idxal et func subis(is []int) []int { return append(is, 5) } func main() { is := []int{1, 2, 3, 4} subis(is[2:3]) fmt.Println(is) }
sobes.tech Süni İntellekt
AI-dan cavab
Bu kodda aşağıdakı baş verər:
is := []int{1, 2, 3, 4}
subis(is[2:3])
fmt.Println(is)
is[2:3] bir elementdən ibarət dilimdir: 3.
subis funksiyası is []int dilimini qəbul edir və append vasitəsilə orijinal dilimə 5 sayını əlavə etməklə yeni dilim qaytarır.
Ancaq, maində subis çağırışının nəticəsi yenidən təyin edilmir, ona görə də orijinal is dilimi dəyişmir.
Nəticə belə olacaq:
[1 2 3 4]
Əgər biz təyin etmə əməliyyatı etsəydik, məsələn:
is = subis(is[2:3])
onda is [3 5] dilimi olardı.
Beləliklə, hazırkı kodda, is dəyişmir, çünki append nəticəsi yadda saxlanmır.