Sobes.tech
Junior — Middle

Омӯзишҳои воридшуда дар рӯйхати фиристодашуда дар ин профил ба таври умумӣ нишон дода мешаванд?

sobes.tech AI

Ҷавоб аз AI

Дар Го, агар шумо як қисм (slice) -ро ба функсия гузоред ва унга унсурҳоро тағир диҳед, ин тағиротҳо дар беруни функсия низ намоён мешаванд, зеро қисм дорои ишора ба маълумот дар массив мебошад.

Аммо, агар дар дохили функсия қисмро худ тағир диҳед (масалан, ба он қисми нав таъин кунед), ин ба қисми аслӣ дар берун таъсир намерасонад.

Масалан:

func modifySlice(s []int) {
    s[0] = 100 // унсури қисми аслӣ тағир меёбад
    s = append(s, 200) // нусхаи маҳаллии қисм тағир меёбад, на он ки дар берун
}

func main() {
    slice := []int{1, 2, 3}
    modifySlice(slice)
    fmt.Println(slice) // Натиҷа: [100 2 3]
}

Аз ин рӯ, тағирот дар унсурҳои қисм ба таври глобалӣ нишон дода мешавад, аммо тағирот дар худи қисм — не.