Зачем пользовательский тип в go?
Классический пример с площадью фигуры.
Представьте что у вас есть классы Круг, Квадрат, прямоугольник, треугольник. Каждый вычисляет площадь по своей собственной формуле.
Напишите метода куда передается список фигур и надо посчитать их общую площадь?
С интерфейсом Areaer и методом типов «Area() float» это элементарно.
С отдельными методами надо огромный switch и знать заранее о всех возможных фигурах.
А теперь представьте себе что пришло новое требование что фигуры с координатами и надо вычислить пересекающуюся область? С методом типа это делается довольно тривиально цепочкой вызовов одного и того же метода на списке фигур.
Короче говоря чтобы писать меньше кода.
это же типа ООП.
Классы и всё такое.
Всё на классах.
Зачем делать без класса если модно сделать свой класс?)