On branch main
modified: src/ch07.md modified: src/ch08.md
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
обобщённые структуры данных (generics), которые нужны для того, чтобы
|
||||
абстрагировать алгоритмы от конкретных типов данных.
|
||||
|
||||
В многие языках такого рода структуры реализованы при помощи специального
|
||||
В многих языках такого рода структуры реализованы при помощи специального
|
||||
синтаксиса и особых правил. В Zig, напротив, обобщённые структуры данных
|
||||
не столько специфическая особенность, сколько демонстрация того, что
|
||||
умеет делать компилятор. Конкретно, работа с обобщёными структурами
|
||||
|
||||
18
src/ch08.md
18
src/ch08.md
@@ -1,15 +1,15 @@
|
||||
|
||||
# Интерфейсы
|
||||
|
||||
Если Вы начали изучать Zig, скорее всего, пройдёт немного времени до того
|
||||
момента, когда Вы осознаете, что в нём специального синтаксиса для
|
||||
создания интерфейсов. Но, вероятно, Вы заметите некоторые вещи, которые
|
||||
номинально не являются таковыми, но очень на них похожи, например,
|
||||
`std.mem.Allocator`. Это потому, что в Zig действительно нет простого
|
||||
механизма для создания интерфейсов (например, ключевых слов `interface` и
|
||||
`implements`), но, тем не менее, сам по себе язык вполне пригоден для
|
||||
достижения аналогичных целей.
|
||||
|
||||
Если Вы начали изучать Zig, скорее всего, пройдёт совсем немного времени
|
||||
до того момента, когда Вы осознаете, что в нём нет никакого специального
|
||||
синтаксиса для создания интерфейсов (таких, как в Java или Go). Но,
|
||||
вероятно, Вы заметите некоторые вещи, которые номинально не являются
|
||||
таковыми, но очень на них похожи, например, `std.mem.Allocator`. Это
|
||||
потому, что в Zig действительно нет простого механизма для создания
|
||||
интерфейсов (например, ключевых слов `interface` и `implements`), но, тем
|
||||
не менее, сам по себе язык вполне пригоден для достижения аналогичных
|
||||
целей.
|
||||
|
||||
## Простая реализация интерфейса
|
||||
|
||||
|
||||
Reference in New Issue
Block a user