вторник, 15 января 2019 г.

Основы Go: Stringers

Одним из наиболее часто встречающихся интерфейсов является 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 года)


Читайте также:


Комментариев нет:

Отправить комментарий