type A = int и type A int?type A = int - это алиас типа (Go 1.9+). A и int - один и тот же тип, полностью взаимозаменяемы. type A int - определение нового типа на основе int; A и int разные типы, их нельзя смешивать без явного приведения. На новый тип можно объявлять методы; на алиас - только если базовый тип определён в том же пакете.
type MyInt int
var x MyInt = 1
// var y int = x // ошибка
var y int = int(x)