Sobes.tech
Middle+

бастаи бастаи асосӣ "fmt" -ро ворид кунед 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 AI

Ҷавоб аз AI

Дар код дар ҳолати зерин амал мекунад:

is := []int{1, 2, 3, 4}
subis(is[2:3])
fmt.Println(is)

is[2:3] як қисмест, ки танҳо як унсур дорад: 3.

Функсияи subis як қисмро is []int мегирад ва қисми навро баргардон мекунад, ки бо илова кардани рақами 5 ба қисми аслӣ тавассути append ба даст меояд.

Аммо, дар main, натиҷаи даъвати subis дубора таъин намешавад, бинобар ин қисми аслӣ is тағйир намеёбад.

Натиҷа чунин хоҳад буд:

[1 2 3 4]

Агар мо як таъинро анҷом диҳем, масалан:

is = subis(is[2:3])

пас is ба қисми [3 5] табдил меёбад.

Аз ин рӯ, дар коди ҳозира, is тағйир намеёбад, зеро натиҷаи append нигоҳ дошта намешавад.