💬 Что из себя представляет тип 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()
.