|
Интерфейсы — это именованные коллекции сигнатур методов. |
|
![]()
|
|
|
|
|
Вот базовый интерфейс для геометрических фигур. |
|
|
Для примера мы реализуем этот интерфейс для
типов |
|
|
Чтобы реализовать интерфейс в Go, нужно просто
реализовать все методы этого интерфейса. Здесь мы
реализуем |
|
|
Реализация для |
|
|
Если переменная имеет тип интерфейса, мы можем вызывать
методы, входящие в этот интерфейс. Вот обобщённая
функция |
|
|
Иногда полезно узнать тип значения интерфейса во время
выполнения. Один из способов — использовать утверждение
типа, как показано здесь; другой — type |
|
|
|
|
Типы структур |
|
|
|
|
|
Чтобы понять, как интерфейсы Go работают под капотом, прочитай эту статью. |
Далее: Перечисления (enum).