In Golang, ist es möglich, den Wert eines Zeigerparameters auf etwas anderes zu ändern?Go - Wie ändern Sie den Wert eines Zeigerparameters?
Zum Beispiel
func main() {
i := 1
test(&i)
}
func test(ptr interface{}) {
v := reflect.ValueOf(ptr)
fmt.Println(v.CanSet()) // false
v.SetInt(2) // panic
}
https://play.golang.org/p/3OwGYrb-W-
Ist es möglich, test()
Veränderung haben i
2 auf einen anderen Wert zu zeigen?
Das funktioniert auch! Stellt sich heraus, ich sollte die Gesetze der Reflexion lesen. –