Nachdem ich alle Elemente aus einem Slice (src) in ein neues Slice (dst) kopiert haben, zeigen alle Elemente in dst auf das letzte Element von src.Nach einem Golang Range kopieren alle Elemente auf das letzte Element des src Slice
package main
import (
"fmt"
)
func main() {
src := []string{"a", "b", "c"}
dst := []*string{}
for _, val := range src {
dst = append(dst, &val)
}
for i, s := range dst {
fmt.Printf("%v - %v\n", i, *s)
}
}
>>> 0 - c
>>> 1 - c
>>> 2 - c
Warum werden "a" und "b" nicht in den dst slice kopiert?
Ich werde es nicht als Duplikat markieren, da Sie bereits ein paar gute Antworten bekommen, aber sehen: https://golang.org/ doc/faq # closures_and_goroutines – JimB