Вот код:Как я могу получить указатель STRUCT от среза в golang
package main
import (
"fmt"
)
type demo struct {
name string
}
func main() {
demo_slice := make([]demo, 3)
demo_slice[0] = demo{"str1"}
demo_slice[1] = demo{"str2"}
demo_slice[2] = demo{"str3"}
point_demo_slice := make([]*demo, 3)
for index, value := range demo_slice {
fmt.Printf("\n%v==++++++++++++++%p\n", value, &value)
point_demo_slice[index] = &value
}
}
Результат:
{str1}==++++++++++++++0x20818a220
{str2}==++++++++++++++0x20818a220
{str3}==++++++++++++++0x20818a220
0x20818a220
является значение указателя последнего элемента.
Почему все значения указателя одинаковы?
Как я могу получить эти правильные значения указателя?
Я полностью понимаю. большое спасибо – soapbar