Чтобы определить, реализует ли данный тип интерфейса интерфейс с использованием пакета отражения, вам необходимо передать рефлексию. Тип для отражения. Type.Implements(). Как вы получаете один из этих типов?
В качестве примера, попытка получить тип неинициализированного типа os.Error(interface) работает не (он паникует, когда вы вызываете на нем Kind())
var err os.Error
fmt.Printf("%#v\n", reflect.TypeOf(err).Kind())