Ecco un breve esempio per dimostrare:Perché non si può assegnare agli array all'interno delle mappe in Go?
package main
import "fmt"
func main() {
array := [3]int{1, 2, 3}
array[0]++ // Works
slice := make([]int, 3)
for i := range slice {
slice[i] = i + 1
}
arrayMap := make(map[int][3]int)
sliceMap := make(map[int][]int)
arrayMap[0] = array
sliceMap[0] = slice
//arrayMap[0][0]++ // Does not compile: "cannot assign to arrayMap[0][0]"
sliceMap[0][0]++
fmt.Println(arrayMap)
fmt.Println(sliceMap)
}
Perchè non posso modificare il contenuto di un array se è all'interno di una mappa, anche se sono mutabili di fuori della mappa? E perché funziona con le fette?
Possibile duplicato di [Come modificare la mappa in go] (http://stackoverflow.com/questions/31633453/how-to-modify-map-in-go) –