Skip to content

Commit 8a3b247

Browse files
committed
Merge pull request #33 from SBozhko/patch-6
Fix grammar issues in chapter 4
2 parents c5f81e8 + bef29d3 commit 8a3b247

File tree

1 file changed

+30
-30
lines changed

1 file changed

+30
-30
lines changed

src/_book/chapter-04-variables.md

+30-30
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ layout: "chapter"
44

55
---
66

7-
Ранее в этой книге мы имели дело с литеральными значениями (числами, строками, и
7+
Ранее в этой книге мы имели дело с литеральными значениями (числами, строками и
88
т.д.), но программы с одними только литералами фактически бесполезны. Для того,
99
чтобы сделать по-настоящему полезные программы, нам нужно узнать о двух важных
1010
вещах: переменных и инструкциях, управляющих ходом исполнения. В этой главе
@@ -42,12 +42,12 @@ layout: "chapter"
4242

4343
Переменные в Go похожи на переменные в алгебре, но есть несколько различий:
4444

45-
Во первых, когда мы видим символ `=`, мы по привычки читаем его как «х равен
45+
Во первых, когда мы видим символ `=`, мы по привычке читаем его как «х равен
4646
строке Hello World». Нет ничего неверного в том, чтобы читать программу таким
47-
образом, но лучше читать это как: «х принимает значение строки Hello World» или
48-
«x присваивается строка Hello World». Это различие важно потому, что (как
49-
понятно по их названию) переменные могут менять свои значения во время
50-
выполнения программы. Попробуйте сделать следующее:
47+
образом, но лучше читать это как «х принимает значение строки Hello World» или
48+
«x присваивается строка Hello World». Это различие важно потому, что
49+
переменные могут менять свои значения во время выполнения программы
50+
(как понятно по их названию). Попробуйте сделать следующее:
5151

5252
package main
5353

@@ -61,7 +61,7 @@ layout: "chapter"
6161
fmt.Println(x)
6262
}
6363

64-
На самом деле, вы можете сделать даже так:
64+
На самом деле вы можете сделать даже так:
6565

6666
var x string
6767
x = "first "
@@ -70,20 +70,20 @@ layout: "chapter"
7070
fmt.Println(x)
7171

7272
Эта программа будет бессмысленной, если вы будете читать её как теорему из
73-
алгебры. Но она обретет смысл если вы будете внимательно читать программу как
74-
список команд. Когда вы видим `x = x + "second"`, то должны читать это так:
75-
«присвоить конкатенацию значения переменной x и литерала строки переменной x».
76-
Операции справа от `=` выполняются первыми и результат присваивается левой
73+
алгебры. Но она обретет смысл, если вы будете внимательно читать программу как
74+
список команд. Когда мы видим `x = x + "second"`, то должны читать это так:
75+
«Присвоить конкатенацию значения переменной x и литерала строки переменной x».
76+
Операции справа от `=` выполняются первыми, и результат присваивается левой
7777
части.
7878

7979
Запись `x = x + y` настолько часто встречается в программировании, что в Go есть
8080
специальный оператор присваивания `+=`. Мы можем записать `x = x + "second"`
81-
как `x += "second"` и результат будет тем же. (Прочие операторы могут быть
82-
использованы подобным образом)
81+
как `x += "second"`, и результат будет тем же. (Прочие операторы могут быть
82+
использованы подобным образом).
8383

8484
Другое отличие между Go и алгеброй в том, что используется другой символ для
85-
равенства: `==`. (Два знака равно, один за другим) `==` - это оператор, как и `+`
86-
и он возвращает логический тип. Например:
85+
равенства: `==`. (Два знака равно, один за другим) `==` - это оператор. Как и `+`,
86+
он возвращает логический тип. Например:
8787

8888
var x string = "hello"
8989
var y string = "world"
@@ -95,17 +95,17 @@ layout: "chapter"
9595
var y string = "hello"
9696
fmt.Println(x == y)
9797

98-
Напечатает `true`, потому что обе строки одинаковы.
98+
напечатает `true`, потому что обе строки одинаковы.
9999

100100
Если мы хотим присвоить значение переменной при её создании, то можем
101101
использовать сокращенную запись:
102102

103103
x := "Hello World"
104104

105-
Обратите внимание на то что `:` стоит перед `=` и на отсутствие типа. Тип в
106-
данном случае указывать необязательно, так как компилятор Go способен определить
107-
тип по литералу, которым мы инициализируем переменную. (Тут мы присваиваем
108-
строку, поэтому x будет иметь тип `string`) Компилятор может определить тип и
105+
Обратите внимание на то, что `:` стоит перед `=` и на отсутствие типа. Тип в
106+
данном случае указывать не обязательно, так как компилятор Go способен определить
107+
тип по литералу, которым мы инициализируем переменную. Тут мы присваиваем
108+
строку, поэтому x будет иметь тип `string`. Компилятор может определить тип и
109109
при использовании `var`:
110110

111111
var x = "Hello World"
@@ -128,7 +128,7 @@ layout: "chapter"
128128
x := "Max"
129129
fmt.Println("My dog's name is", x)
130130

131-
В этом случае, `x` - это не самое лучшее имя переменной. Лучше было бы так:
131+
В этом случае `x` не самое лучшее имя переменной. Лучше было бы так:
132132

133133
name := "Max"
134134
fmt.Println("My dog's name is", name)
@@ -141,7 +141,7 @@ layout: "chapter"
141141
В последнем случае мы использовали специальный способ написания имени
142142
переменной, состоящей из нескольких слов, известный как lower CamelCase (или
143143
camelBack). Первая буква первого слова записывается в нижнем регистре, первая
144-
буква последующих слов записывается в верхнем регистре - всё остальное в нижнем.
144+
буква последующих слов записывается в верхнем регистре, всё остальное - в нижнем.
145145

146146
## Область видимости
147147

@@ -199,16 +199,16 @@ camelBack). Первая буква первого слова записывае
199199

200200
Компилятор говорит вам, что переменная `x` внутри функции `f` не существует. Она
201201
существует только внутри функции `main`. Места, где может использоваться
202-
переменная `x` называется областью видимости переменной. Согласно спецификации:
203-
«В Go область видимости ограничена блоками». В основном, это значит, что
202+
переменная `x`, называются областью видимости переменной. Согласно спецификации,
203+
«в Go область видимости ограничена блоками». В основном, это значит, что
204204
переменные существуют только внутри текущих фигурных скобок `{` `}` (в блоке),
205205
включая все вложенные скобки (блоки). Область видимости поначалу может запутать
206206
вас, но когда вы увидите больше примеров, то всё станет ясно.
207207

208208
## Константы
209209

210210
Go также поддерживает константы. Константы — это переменные, чьи значения не
211-
могут быть изменены после инициализации. Они создаются таки же образом, как и
211+
могут быть изменены после инициализации. Они создаются таким же образом, как и
212212
переменные, только вместо `var` используется ключевое слово `const`:
213213

214214
package main
@@ -229,12 +229,12 @@ Go также поддерживает константы. Константы
229229

230230
.\main.go:7: cannot assign to x
231231

232-
Константы — хороший способ использовать определенные значения в программе, без
232+
Константы — хороший способ использовать определенные значения в программе без
233233
необходимости писать их каждый раз. Например, константа `Pi` из пакета `math`.
234234

235235
## Определение нескольких переменных
236236

237-
В Go существует еще одно сокращение, на случай, если необходимо определить несколько переменных:
237+
В Go существует еще одно сокращение на случай, если необходимо определить несколько переменных:
238238

239239
var (
240240
a = 5
@@ -263,8 +263,8 @@ Go также поддерживает константы. Константы
263263

264264

265265
Тут мы используем другую функцию из пакета `fmt`, чтобы считать пользовательский
266-
ввод (`Scanf`). `&input` будет объяснен в следующий главах, и все что нам нужно
267-
знать сейчас что `Scanf` заполняет переменную `input` числом, введенным нами.
266+
ввод (`Scanf`). `&input` будет объяснен в следующих главах, а все, что нам нужно
267+
знать сейчас, это то, что `Scanf` заполняет переменную `input` числом, введенным нами.
268268

269269
## Задачи
270270

@@ -280,4 +280,4 @@ Go также поддерживает константы. Константы
280280
* Используя пример программы выше, напишите программу, переводящую температуру
281281
из градусов Фаренгейта в градусы Цельсия. (`C = (F - 32) * 5/9`)
282282

283-
* Напишите другую программу, для перевода футов в метры. (1 фут = 0.3048 метр)
283+
* Напишите другую программу для перевода футов в метры. (1 фут = 0.3048 метр)

0 commit comments

Comments
 (0)