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 кесимин кабыл алып, append аркылуу негизги кесимге 5 санын кошуу менен жаңы кесимди кайтарат.

Бирок, mainда subis чакыруунун натыйжасы кайра берилбейт, ошондуктан негизги is өзгөрбөйт.

Натыйжа мындай болот:

[1 2 3 4]

Эгер биз аны кайра белгилесек, мисалы:

is = subis(is[2:3])

анда is [3 5] кесимине айланат.

Ошондуктан, азыркы коддо, is өзгөрбөйт, анткени append натыйжасы сакталбайт.