💬 Что из себя представляет тип Stringer в Go?



Stringer — это интерфейс, определённый в стандартной библиотеке fmt. Он содержит один метод String() string.



Когда тип реализует этот интерфейс, он может контролировать своё строковое представление. Это особенно полезно, когда необходимо вывести структурированные данные или для логирования.



Простой пример:



type Person struct {

Name string

Age int

}



func (p Person) String() string {

return fmt.Sprintf("%s is %d years old", p.Name, p.Age)

}





Тип Person реализует Stringer, так что каждый раз, когда экземпляр Person выводится с использованием функций из пакета fmt, будет использовано кастомное строковое представление, определённое в методе String().