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 АИ
Одговор од АИ
U ovom kodu se dešava sledeće:
is := []int{1, 2, 3, 4}
subis(is[2:3])
fmt.Println(is)
is[2:3] je odsečak koji sadrži jedan element: 3.
Funkcija subis uzima odsečak is []int i vraća novi odsečak koji se dobija dodavanjem broja 5 na originalni odsečak pomoću append.
Međutim, u main, rezultat poziva subis se ne dodeljuje ponovo, tako da se originalni odsečak is ne menja.
Rezultat će biti:
[1 2 3 4]
Ako bismo uradili dodelu, na primer:
is = subis(is[2:3])
onda bi is postao odsečak [3 5].
Dakle, u trenutnom kodu, is se ne menja jer se rezultat append ne čuva.