Skip to content

Commit 4b4d5c8

Browse files
authored
Merge pull request astaxie#1064 from drypa/patch-1
misspells fixed
2 parents f88ef5b + 2248a1b commit 4b4d5c8

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

ru/02.3.md

+8-8
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ default:
147147
fmt.Println("Все, что я знаю - это то, что i - целое число")
148148
}
149149
```
150-
В пятой строке мы поместили несколько значений в один `case`; нам также не надо писать ключевое слово `break` в конце тела `case`. При выполнении какого-либо условия цикл прекратитсяавтоматически. Если Вы хотите продолжать проверку, нужно использовать выражение `fallthrough`.
150+
В пятой строке мы поместили несколько значений в один `case`; нам также не надо писать ключевое слово `break` в конце тела `case`. При выполнении какого-либо условия цикл прекратится автоматически. Если Вы хотите продолжать проверку, нужно использовать выражение `fallthrough`.
151151
```Go
152152
integer := 6
153153
switch integer {
@@ -189,7 +189,7 @@ func funcName(input1 type1, input2 type2) (output1 type1, output2 type2) {
189189
```
190190
Мы можем сделать вывод из примера выше:
191191

192-
- Нужно использовать ключевое слово `func` длы того, чтобы определить функцию `funcName`.
192+
- Нужно использовать ключевое слово `func` для того, чтобы определить функцию `funcName`.
193193
- Функции могут не возвращать аргументов или возвращать один или несколько. Тип аргумента следует после его имени, аргументы разделяются запятой `,`.
194194
- Функции могут возвращать множество значений.
195195
- В примере есть два значение `output1` и `output2`, Вы можете опустить их имена и использовать только типы.
@@ -249,7 +249,7 @@ func main() {
249249
fmt.Printf("%d * %d = %d\n", x, y, xTIMESy)
250250
}
251251
```
252-
В вышеприведенном примере два значения возвращаются без имен; также можно и дать им имена. Если мы именуем переменные, которые будут возвращаться, нам нужно лишь написать `return`, чтобы возвратить значения, так как то, что надо возвращать, уже определено в функции автоматически. Имейте в виду, что если Вы собираетесь использовать функцию вне пакета (что означает, что Вы должны именовать эту фунцкию с заглавной буквы), лучше указывавйте полную форму `return`; это сделает Ваш код более читаемым.
252+
В вышеприведенном примере два значения возвращаются без имен; также можно и дать им имена. Если мы именуем переменные, которые будут возвращаться, нам нужно лишь написать `return`, чтобы возвратить значения, так как то, что надо возвращать, уже определено в функции автоматически. Имейте в виду, что если Вы собираетесь использовать функцию вне пакета (что означает, что Вы должны именовать эту функцию с заглавной буквы), лучше указывайте полную форму `return`; это сделает Ваш код более читаемым.
253253
```Go
254254
func SumAndProduct(A, B int) (add int, Multiplied int) {
255255
add = A+B
@@ -297,11 +297,11 @@ func main() {
297297
```
298298
Видите? Несмотря на то, что мы вызвали функцию `add1` с `x`, изначальное значение `x` не изменилось.
299299

300-
Причина очерь проста: когда мы вызвали `add1`, мы передали в нее копию `x`, а не сам `x`.
300+
Причина очень проста: когда мы вызвали `add1`, мы передали в нее копию `x`, а не сам `x`.
301301

302302
Теперь Вы можете спросить, как передать в функцию сам `x`?
303303

304-
В этом случе нам нужно использовать указатели. Мы знаем, что переменные хранятся в памяти и у них есть адреса. Итак, если мы хотим изменить значение переменной, мы меняем значение, находящееся в памяти по соответствующему ей адресу. Поэтому, для того, чтобы изменить значение `x`, `add1` должна знать адрес `x` в памяти. Здесь мы передаем `&x` в функцию и меняем тип аргумента на тип указателя `*int`. Мы передаем в функцию копию указателя, не копию значения.
304+
В этом случае нам нужно использовать указатели. Мы знаем, что переменные хранятся в памяти и у них есть адреса. Итак, если мы хотим изменить значение переменной, мы меняем значение, находящееся в памяти по соответствующему ей адресу. Поэтому, для того, чтобы изменить значение `x`, `add1` должна знать адрес `x` в памяти. Здесь мы передаем `&x` в функцию и меняем тип аргумента на тип указателя `*int`. Мы передаем в функцию копию указателя, не копию значения.
305305
```Go
306306
package main
307307
import "fmt"
@@ -424,7 +424,7 @@ func main(){
424424

425425
В Go, в отличии от Java, нет структуры `try-catch`. Вместо того, чтобы "кидать" исключения, для работы с ошибками Go использует `panic` и `recover`. Однако, не стоит использовать `panic` слишком много, несмотря на его мощность.
426426

427-
Panic - это встроенная функция, которая прерыавает ход программы и включает статус "паники". Когда функция `F` вызывает `panic`, `F` не продолжит после этого свое исполнение, но функции `defer` выполняться. Затем `F` возвращается к той точке своего выполнения, где была вызвана panic. Пока все функции не вернут panic функциям уровнем выше, которые их вызвали, программа не прервет своего выполнения. `panic` может произойти в результате вызова `panic` в программе, также некоторыен ошибки вызывают `panic` как, например, при попытке доступа к массиву за его пределами.
427+
Panic - это встроенная функция, которая прерывает ход программы и включает статус "паники". Когда функция `F` вызывает `panic`, `F` не продолжит после этого свое исполнение, но функции `defer` выполняться. Затем `F` возвращается к той точке своего выполнения, где была вызвана panic. Пока все функции не вернут panic функциям уровнем выше, которые их вызвали, программа не прервет своего выполнения. `panic` может произойти в результате вызова `panic` в программе, также некоторые ошибки вызывают `panic` как, например, при попытке доступа к массиву за его пределами.
428428

429429
Recover - это встроенная функция для восстановления `горутин` из состояния panic. Нормально будет вызывать `recover` в функциях `defer`, так как обычные функции не буду выполняться, если программа находится в состоянии panic. Эта функция получает значение `panic`, если программа находится в состоянии panic, и `nil`, если не находится.
430430

@@ -474,7 +474,7 @@ import(
474474
```Go
475475
fmt.Println("hello world")
476476
```
477-
`fmt` находится в стандртной библиотеке Go, он располагается в $GOROOT/pkg. Go поддерживает сторонние пакеты двумя способами:
477+
`fmt` находится в стандартной библиотеке Go, он располагается в $GOROOT/pkg. Go поддерживает сторонние пакеты двумя способами:
478478

479479
1. Относительный путь
480480
import "./model" // импортирует пакет из той же директории, где находится программа, я не рекомендую этот способ.
@@ -504,7 +504,7 @@ fmt.Println("hello world")
504504
_ "github.com/ziutek/mymysql/godrv"
505505
)
506506

507-
Оператор `_` означает, что мы просто хотим импортировать пакет и выполнить его функцию `init`, но не уверены, будем ли мы использовать фунцкии, которые он содержит.
507+
Оператор `_` означает, что мы просто хотим импортировать пакет и выполнить его функцию `init`, но не уверены, будем ли мы использовать функции, которые он содержит.
508508

509509
## Ссылки
510510

0 commit comments

Comments
 (0)