Одним из наиболее часто встречающихся интерфейсов является Stringer, объявленный в пакете fmt.
type Stringer interface {
String() string
}
Stringer это тип, который может описать себя строкой. Пакет fmt (и многие другие) ожидают этот интерфейс для вывода значений.
package main
import "fmt"
type Person struct {
Name string
Age int
}
func (p Person) String() string {
return fmt.Sprintf("%v (%v года)", p.Name, p.Age)
}
func main() {
a := Person{"Иван Иванов", 54}
z := Person{"Петр Петров", 2004}
fmt.Println(a, z)
}
Вывод:
Иван Иванов (54 года) Петр Петров (2004 года)
Читайте также:
Комментариев нет:
Отправить комментарий