demo ``` package main import ( "fmt" "reflect" ) type student struct { name string } func main() { a := []student{student{"A"}, student{"B"}, student{"C"}} v := reflect.ValueOf(a) i := v.Index(0).Interface() a[0] = student{"X"} fmt.Println(a, i) } ``` go run main.go ``` [{X} {B} {C}] {A} ``` gopherjs run main.go ``` [{X} {B} {C}] {X} ```