В книге "Перейти в действие" автор написал: "Значения двух разных типов не могут быть назначены друг другу, даже если они совместимы".
Например, мы не можем назначить Duration
на int64
или int64
на Duration
.
Но это не всегда так, следующее присваивание будет работать так, как будто значение X
автоматически преобразуется в []int
:
type X []int
var v []int = X([]int{1, 2, 3})
Какая разница между этими двумя ситуациями?