Sobes.tech
Middle+

peamine pakett import "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

Vastus AI-lt

Selles koodis toimub järgmine:

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

is[2:3] on lõik, mis sisaldab ühte elementi: 3.

Funktsioon subis võtab is []int lõigu ja tagastab uue lõigu, mis saadakse lisades arvuga 5 algsele lõigule append abil.

Kuid main-s ei ole subis-i väljakutse tulemust uuesti määratud, seega algne lõik is ei muutu.

Väljund on:

[1 2 3 4]

Kui teeksime määramise, näiteks:

is = subis(is[2:3])

siis is muutuks lõiguks [3 5].

Seega, praeguses koodis, is ei muutu, sest append-i tulemust ei salvestata.