Я хочу знать, почему этот код не может изменить значение в массиве
Я пытаюсь изменить элемент в массиве по указателю. Не по индексу.
import "fmt"
func main() {
array := []Type{}
array = append(array, Type{2})
array = append(array, Type{3})
array = append(array, Type{4})
array = append(array, Type{5})
res := []*Type{}
for _, a := range array {
a1 := a
res = append(res, &a1)
}
for _,v := range res {
v1 := v
v1.number++
}
for _, t := range res {
fmt.Print(t.number)
}
}
type Type struct {
number int32
}
Мой ожидаемый результат должен быть 3,4,5,6. Но результат не изменился, поэтому я хочу узнать причину детализации. Я новичок в Go. Пожалуйста, расскажите мне подробно