On branch main
modified: src/ch03.md new file: src/ch04.md new file: src/ch05.md
This commit is contained in:
@@ -69,7 +69,7 @@ fn add(a: i64, b: i64) i64 {
|
||||
|
||||
## Маскирование/затенение имён (shadowing)
|
||||
|
||||
Zig не ползволяет одному идентификатору "перекрывать" собой другой,
|
||||
Zig не позволяет одному идентификатору "перекрывать" собой другой,
|
||||
используя то же самое имя. Следующий код для чтения из сокета не является
|
||||
корректным:
|
||||
|
||||
@@ -90,7 +90,7 @@ fn read(stream: std.net.Stream) ![]const u8 {
|
||||
|
||||
За исключением правил, диктуемых компилятором, Вы, разумеется,
|
||||
вольны использовать такие соглашения об именах, какие Вам больше
|
||||
нравятся. Однако, соверешенно не вредно понимать собственные
|
||||
нравятся. Однако, совершенно не вредно понимать собственные
|
||||
соглашения Zig, поскольку стандартная библиотека, которой Вы,
|
||||
безуловно, будете пользоваться, придерживается этих соглашений.
|
||||
|
||||
@@ -99,7 +99,7 @@ fn read(stream: std.net.Stream) ![]const u8 {
|
||||
а не символ табуляции и это гораздо удобней, чем 4 раза нажимать пробел.
|
||||
|
||||
Имена функций пишутся в `camelCase`, имена переменных - в `snake_case`.
|
||||
Типы пишутся в `PascalCase`. Есть одно интересное перечение этих 3-х правил.
|
||||
Типы пишутся в `PascalCase`. Есть одно интересное пересечение этих 3-х правил.
|
||||
Переменные, которые хранят тип или функции, которые возвращают тип,
|
||||
так же, как и сами типы, пишутся в `PascalCase`. Мы уже видели нечто подобное:
|
||||
|
||||
@@ -108,7 +108,7 @@ fn read(stream: std.net.Stream) ![]const u8 {
|
||||
std.debug.print("{any}\n", .{@TypeOf(.{.year = 2023, .month = 8})});
|
||||
```
|
||||
|
||||
Мы уже видели некторые другие встроенные функции, как то `@import`, `@rem` и `@intCast`.
|
||||
Мы уже видели некоторые другие встроенные функции, как то `@import`, `@rem` и `@intCast`.
|
||||
Поскольку это функции, их имена записаны в `camelCase`. Однако, `@TypeOf` это тоже
|
||||
(встроенная) функция, но она почему то написана в `PascalCase`. А это потому,
|
||||
что она возвращает *тип* и поэтому для её имени используется соглашение для типов,
|
||||
|
||||
12
src/ch04.md
Normal file
12
src/ch04.md
Normal file
@@ -0,0 +1,12 @@
|
||||
|
||||
# Указатели
|
||||
|
||||
## Методы
|
||||
|
||||
## Немутабельные параметры функций
|
||||
|
||||
## Указатель на указатель
|
||||
|
||||
## Вложенные указатели
|
||||
|
||||
## Рекурсивные структуры
|
||||
7
src/ch05.md
Normal file
7
src/ch05.md
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
# Стековая память
|
||||
|
||||
## Стековые кадры
|
||||
|
||||
## "Висячие" указатели (dangling pointers)
|
||||
|
||||
Reference in New Issue
Block a user