Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
66
Особенности использования указателей внутри цикла range
Условие задачи
Вопрос: какие числа будут напечатаны, если сохранять ссылки на переменную‑итератор внутри цикла range, и почему полученный вывод может отличаться от ожидаемого?
package main
import (
"fmt"
)
func main() {
var ptrs []*int // срез указателей
for _, v := range []int{10, 20, 30, 40} {
ptrs = append(ptrs, &v) // сохраняем адрес переменной‑итератора
}
for _, p := range ptrs {
fmt.Printf("%d ", *p) // выводим значение, на которое указывает каждый указатель
}
}