Pensavo che non consentisse alcun tipo di nome all'assegnazione del tipo attuale senza conversione di tipo esplicita.Perché golang consente l'assegnazione del tipo di slice con nome senza conversione di tipo esplicita?
Ma come si compila senza errori se assegno []byte
a json.RawMessage
?
var a json.RawMessage // type RawMessage []byte
var b []byte
a = b
var x time.Duration // type Duration int64
var y int64
x = y // ERROR: cannot use y (type int64) as type time.Duration in assignment
https://play.golang.org/p/oD5LwJl7an
Poiché int è un tipo di nome e la matrice è un tipo senza nome. Vedi http://stackoverflow.com/questions/19334542/why-can-i-type-alias-functions-and-use-them-without-casting – LibertyLocked
@LibertyLocked Int64 è un tipo denominato? qual è il vero tipo dietro di esso? L'array di byte – woodings
è composto da un tipo esistente, 'byte', mentre' byte' stesso è un tipo letterale, non composto da alcun tipo esistente – LibertyLocked