Nel libro "Go in Action", l'autore ha scritto "I valori di due diversi tipi non possono essere assegnati l'uno all'altro, anche se sono compatibili".Perché posso assegnare un valore di tipo diverso a una variabile?
Ad esempio, non possiamo assegnare Duration
a int64
o int64
a Duration
.
Ma questo non è sempre vero, la seguente assegnazione funzionerebbe come il valore X
viene riconvertito []int
automaticamente:
type X []int
var v []int = X([]int{1, 2, 3})
Qual è la differenza tra queste due situazioni?