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.