Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
15
Как функция append меняет срезы и ссылки
Условие задачи
Необходимо предсказать, какие данные будут выведены программой, учитывая особенности работы срезов, указателей и возможного копирования при вызове append.
type account struct {
value int
}
func main() {
listA := make([]account, 0, 2)
listA = append(listA, account{})
listA = append(listA, account{})
listB := append(listA, account{})
ptr := &listB[0]
ptr.value = 100
fmt.Println(listA, listB)
listA = append(listB, account{})
ptr.value += 100
fmt.Println(listA, listB)
}