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