diff --git a/examples/arrays/arrays.go b/examples/arrays/arrays.go index 9212b6d75..e7c252683 100644 --- a/examples/arrays/arrays.go +++ b/examples/arrays/arrays.go @@ -25,8 +25,8 @@ func main() { // Встроенная функция `len` возвращает длину массива. fmt.Println("len:", len(a)) - // Так можно инициалзировать и заполнить массив - // значениеми в одну строку + // Так можно инициализировать и заполнить массив + // значениями в одну строку b := [5]int{1, 2, 3, 4, 5} fmt.Println("dcl:", b) diff --git a/examples/base64-encoding/base64-encoding.go b/examples/base64-encoding/base64-encoding.go index 0ec7fd062..8462beaee 100644 --- a/examples/base64-encoding/base64-encoding.go +++ b/examples/base64-encoding/base64-encoding.go @@ -17,7 +17,7 @@ func main() { data := "abc123!?$*&()'-=@~" // Go поддерживает оба стандарта и URL-совместимого - // base64. Кодируем, используя стандартнай кодировщик. + // base64. Кодируем, используя стандартный кодировщик. // Кодировщик требует `[]byte` на входе, поэтому // мы конвертируем нашу `строку`. sEnc := b64.StdEncoding.EncodeToString([]byte(data)) diff --git a/examples/channel-directions/channel-directions.go b/examples/channel-directions/channel-directions.go index c5f4de058..bbd131403 100644 --- a/examples/channel-directions/channel-directions.go +++ b/examples/channel-directions/channel-directions.go @@ -9,7 +9,7 @@ import "fmt" // Функция `ping` принимает канал только для отправки // значений. При попытке получения значений в этот канал -// в процессе компиляции возниканет ошибка. +// в процессе компиляции возникнет ошибка. func ping(pings chan<- string, msg string) { pings <- msg } diff --git a/examples/defer/defer.go b/examples/defer/defer.go index 86a33ebed..5542eb686 100644 --- a/examples/defer/defer.go +++ b/examples/defer/defer.go @@ -38,7 +38,6 @@ func createFile(p string) *os.File { func writeFile(f *os.File) { fmt.Println("writing") fmt.Fprintln(f, "data") - } func closeFile(f *os.File) { diff --git a/examples/environment-variables/environment-variables.go b/examples/environment-variables/environment-variables.go index 42bd5bc10..d62258a2c 100644 --- a/examples/environment-variables/environment-variables.go +++ b/examples/environment-variables/environment-variables.go @@ -23,7 +23,7 @@ func main() { fmt.Println("BAR:", os.Getenv("BAR")) // Используйте `os.Environ` для вывода списка всех пар - // ключ/значение в среде. Это возвращает спез строк в + // ключ/значение в среде. Это возвращает срез строк в // формате `KEY=value`. Вы можете использовать `strings.Split`, // чтобы получить ключ и значение. Здесь мы печатаем // все ключи. diff --git a/examples/epoch/epoch.sh b/examples/epoch/epoch.sh index bc70553f7..dbb071494 100644 --- a/examples/epoch/epoch.sh +++ b/examples/epoch/epoch.sh @@ -6,5 +6,5 @@ $ go run epoch.go 2012-10-31 16:13:58 +0000 UTC 2012-10-31 16:13:58.292387 +0000 UTC -# Далее мы рассмотрим еще одну задачу, связанную со +# Далее мы рассмотрим еще одну задачу, связанную с # временем: разбор и форматирование времени. diff --git a/examples/execing-processes/execing-processes.sh b/examples/execing-processes/execing-processes.sh index e7c9a527b..53206086d 100644 --- a/examples/execing-processes/execing-processes.sh +++ b/examples/execing-processes/execing-processes.sh @@ -1,4 +1,4 @@ -# When we run our program it is replaced by `ls`. +# Когда мы запускаем нашу программу она будет заменена командой `ls`. $ go run execing-processes.go total 16 drwxr-xr-x 4 mark 136B Oct 3 16:29 . diff --git a/examples/exit/exit.go b/examples/exit/exit.go index dae8311f0..491edf6c4 100644 --- a/examples/exit/exit.go +++ b/examples/exit/exit.go @@ -1,5 +1,5 @@ // Используйте `os.Exit` для немедленного выхода с -// полученныем статусом. +// полученным статусом. package main diff --git a/examples/functions/functions.go b/examples/functions/functions.go index d0db4b858..8ed6010a1 100644 --- a/examples/functions/functions.go +++ b/examples/functions/functions.go @@ -25,7 +25,7 @@ func plusPlus(a, b, c int) int { func main() { - // Вызов функции осуществялется через запись + // Вызов функции осуществляется через запись // `функция(аргументы)`. res := plus(1, 2) fmt.Println("1+2 =", res) diff --git a/examples/functions/functions.sh b/examples/functions/functions.sh index 8353d7bdb..d085c4789 100644 --- a/examples/functions/functions.sh +++ b/examples/functions/functions.sh @@ -3,5 +3,5 @@ $ go run functions.go 1+2+3 = 6 # Есть несколько других особенностей для функций в Go. -# Одной из них является возможнсоть возврата нескольких +# Одной из них является возможность возврата нескольких # значений, которые мы рассмотрим далее. diff --git a/examples/json/json.go b/examples/json/json.go index 920b4f8a2..4f8daa4df 100644 --- a/examples/json/json.go +++ b/examples/json/json.go @@ -106,7 +106,7 @@ func main() { // Мы также можем декодировать JSON в пользовательские // типы данных. Это дает преимущество добавления // дополнительной безопасности типов в наши программы - // и устранения необходимости в определении типрв + // и устранения необходимости в определении типов // при доступе к декодированным данным. str := `{"page": 1, "fruits": ["apple", "peach"]}` res := response2{} diff --git a/examples/pointers/pointers.go b/examples/pointers/pointers.go index 4fea14859..4eaed8fe7 100644 --- a/examples/pointers/pointers.go +++ b/examples/pointers/pointers.go @@ -31,7 +31,7 @@ func main() { zeroval(i) fmt.Println("zeroval:", i) - // Запись `&i` получается ссылку на область памяти, в + // Запись `&i` получает ссылку на область памяти, в // которой хранится `i`, т.е. указатель на `i`. zeroptr(&i) fmt.Println("zeroptr:", i) diff --git a/examples/random-numbers/random-numbers.go b/examples/random-numbers/random-numbers.go index f06cbe459..a4f93736d 100644 --- a/examples/random-numbers/random-numbers.go +++ b/examples/random-numbers/random-numbers.go @@ -17,7 +17,7 @@ func main() { fmt.Print(rand.Intn(100)) fmt.Println() - // `rand.Float64` вернет `число с плавающей точкой` в присвоит + // `rand.Float64` вернет `число с плавающей точкой` и присвоит // его в `f`, где `f` будет в промежутке `0.0 <= f < 1.0`. fmt.Println(rand.Float64()) diff --git a/examples/reading-files/reading-files.go b/examples/reading-files/reading-files.go index 4b7b89b25..a2fcd5527 100644 --- a/examples/reading-files/reading-files.go +++ b/examples/reading-files/reading-files.go @@ -32,7 +32,7 @@ func main() { // Вам часто может потребоваться больший контроль // над тем, как и какие части файла читаются. Для // решения этих задач начните с открытия файла, - // чтобы получить значение `os.File`.. + // чтобы получить значение `os.File`. f, err := os.Open("/tmp/dat") check(err) diff --git a/examples/select/select.sh b/examples/select/select.sh index 8a2a62852..39f8b12ba 100644 --- a/examples/select/select.sh +++ b/examples/select/select.sh @@ -1,4 +1,4 @@ -# Мы получаем значние `"one"` и потом `"two"`, как +# Мы получаем значение `"one"` и потом `"two"`, как # и ожидалось. $ time go run select.go received one diff --git a/examples/slices/slices.go b/examples/slices/slices.go index 43bb3b78d..79134ebcf 100644 --- a/examples/slices/slices.go +++ b/examples/slices/slices.go @@ -10,8 +10,8 @@ func main() { // В отличии от массивов, длина среза зависит от содержащихся // в срезе элементов, а не определена при инициализации. - // Создать пустой срез в ненулевой длиной можно используя - // оператор `make`. В этом пример мы создаем слайс строк + // Создать пустой срез с ненулевой длиной можно используя + // оператор `make`. В этом примере мы создаем слайс строк // длиной 3 (заполненный нулевыми значениями). s := make([]string, 3) fmt.Println("emp:", s) @@ -29,7 +29,7 @@ func main() { // В дополнение к базовой функциональности, срезы // имеют несколько дополнительных особенностей // по сравнению с массивыми. Одна из них - `append`, - // которая возвращает срезу содержащий одно или более + // которая возвращает срез, содержащий одно или более // новых значений. Обратите внимание, что результат // функции `append` необходимо присвоить в переменную, // т.к. это уже будет новый срез. diff --git a/examples/spawning-processes/spawning-processes.go b/examples/spawning-processes/spawning-processes.go index f771227bd..016ed33c7 100644 --- a/examples/spawning-processes/spawning-processes.go +++ b/examples/spawning-processes/spawning-processes.go @@ -22,7 +22,7 @@ func main() { dateCmd := exec.Command("date") // `.Output` - это еще один хелпер, который обрабатывает - // общий случай запуска команды, ожидаетее завершения + // общий случай запуска команды, ожидает завершения // и сбора выходных данных. Если ошибок не было, `dateOut` // будет содержать байты с информацией о дате. dateOut, err := dateCmd.Output() diff --git a/examples/stateful-goroutines/stateful-goroutines.go b/examples/stateful-goroutines/stateful-goroutines.go index a26e60cf4..b87ff5934 100644 --- a/examples/stateful-goroutines/stateful-goroutines.go +++ b/examples/stateful-goroutines/stateful-goroutines.go @@ -24,14 +24,6 @@ import ( // и получать соответствующие ответы. Эти `структуры` // `readOp` и `writeOp` инкапсулируют эти запросы и // способ, которым владеет горутина-ответчик. -// In this example our state will be owned by a single -// goroutine. This will guarantee that the data is never -// corrupted with concurrent access. In order to read or -// write that state, other goroutines will send messages -// to the owning goroutine and receive corresponding -// replies. These `readOp` and `writeOp` `struct`s -// encapsulate those requests and a way for the owning -// goroutine to respond. type readOp struct { key int resp chan int @@ -63,7 +55,7 @@ func main() { // выполняется, сначала выполняя запрошенную операцию, // а затем отправляя значение по каналу `resp`, // соответственно, чтобы указать успешность (и - // ребуемое значение в случае `reads`). + // требуемое значение в случае `reads`). go func() { var state = make(map[int]int) for { diff --git a/examples/string-formatting/string-formatting.go b/examples/string-formatting/string-formatting.go index c2d57ede5..048d72ffb 100644 --- a/examples/string-formatting/string-formatting.go +++ b/examples/string-formatting/string-formatting.go @@ -44,7 +44,7 @@ func main() { // Бинарный вывод fmt.Printf("%b\n", 14) - // Вывод символа, соответсвующего заданному числу. + // Вывод символа, соответствующего заданному числу. fmt.Printf("%c\n", 33) // `%x` - шестнадцатиричное значение. @@ -54,7 +54,7 @@ func main() { // чисел с плавающей точкой. Стандартный вывод `%f`. fmt.Printf("%f\n", 78.9) - // `%e` и `%E` приводит числло с плавающей точкой + // `%e` и `%E` приводит число с плавающей точкой // к экспоненциальному представлению. fmt.Printf("%e\n", 123400000.0) fmt.Printf("%E\n", 123400000.0) @@ -62,7 +62,7 @@ func main() { // Для стандартного вывода строк используйте `%s`. fmt.Printf("%s\n", "\"string\"") - // Для двойных ковычек как в исходниках Go, используйте `%q`. + // Для двойных кавычек как в исходниках Go, используйте `%q`. fmt.Printf("%q\n", "\"string\"") // Так же как и с целочисленными ранее, `%x` отображает diff --git a/examples/structs/structs.go b/examples/structs/structs.go index 11aa88ac9..204d79e01 100644 --- a/examples/structs/structs.go +++ b/examples/structs/structs.go @@ -12,7 +12,7 @@ type person struct { age int } -// Функция NewPerson создает новую струкутуру person с +// Функция NewPerson создает новую структуру person с // заданным именем. func NewPerson(name string) *person { // Вы можете безопасно вернуть указатель на локальную diff --git a/examples/time-formatting-parsing/time-formatting-parsing.go b/examples/time-formatting-parsing/time-formatting-parsing.go index 2b9146c7c..bad8da4ff 100644 --- a/examples/time-formatting-parsing/time-formatting-parsing.go +++ b/examples/time-formatting-parsing/time-formatting-parsing.go @@ -1,5 +1,5 @@ -// Go supports time formatting and parsing via -// pattern-based layouts. +// Go поддерживает форматирование и парсинг времени +// с помощью шаблонов package main @@ -42,7 +42,7 @@ func main() { t.Year(), t.Month(), t.Day(), t.Hour(), t.Minute(), t.Second()) - // `Parse` вернет ошибку. если не сможет распарсить данные. + // `Parse` вернет ошибку если не сможет распарсить данные. ansic := "Mon Jan _2 15:04:05 2006" _, e = time.Parse(ansic, "8:41PM") p(e) diff --git a/examples/time/time.go b/examples/time/time.go index 517d85e06..cf7c09518 100644 --- a/examples/time/time.go +++ b/examples/time/time.go @@ -32,7 +32,7 @@ func main() { p(then.Nanosecond()) p(then.Location()) - // Получения дня недели доступно через метод `Weekday`. + // Получение дня недели доступно через метод `Weekday`. p(then.Weekday()) // Эти методы сравниваются два раза, проверяя, diff --git a/examples/timeouts/timeouts.go b/examples/timeouts/timeouts.go index 4ad9f4a0f..915b90b8c 100644 --- a/examples/timeouts/timeouts.go +++ b/examples/timeouts/timeouts.go @@ -17,7 +17,7 @@ func main() { // через 2с. Обратите внимание, что канал буферизован, // поэтому отправка в goroutine неблокирующая. Это // обычная схема предотвращения утечек горутин в случае, - // если канал никогда не читается.ё + // если канал никогда не читается. c1 := make(chan string, 1) go func() { time.Sleep(2 * time.Second) diff --git a/examples/timers/timers.go b/examples/timers/timers.go index abf281fe3..f2bb4a272 100644 --- a/examples/timers/timers.go +++ b/examples/timers/timers.go @@ -13,7 +13,7 @@ import ( func main() { - // Таймеры позволяет выполнить одно событие в будущем. + // Таймер позволяет выполнить одно событие в будущем. // Вы сообщаете таймеру, как долго вы хотите ждать, // и он предоставляет канал, который будет уведомлен // в это время. Этот таймер будет ждать 2 секунды. diff --git a/examples/values/values.go b/examples/values/values.go index 8eed775a1..f7c34ffeb 100644 --- a/examples/values/values.go +++ b/examples/values/values.go @@ -11,7 +11,7 @@ func main() { // Строки могут быть сложены с помощью символа `+`. fmt.Println("go" + "lang") - // Целый числа и числа с плавающей точкой. + // Целые числа и числа с плавающей точкой. fmt.Println("1+1 =", 1+1) fmt.Println("7.0/3.0 =", 7.0/3.0) diff --git a/examples/variables/variables.go b/examples/variables/variables.go index b1d20ed86..9396f2eae 100644 --- a/examples/variables/variables.go +++ b/examples/variables/variables.go @@ -26,7 +26,7 @@ func main() { var e int fmt.Println(e) - // В Go существует короткий пператор `:=` для + // В Go существует короткий оператор `:=` для // объявления и инициализации переменной. // Например, `var f string = "apple"` в короткой записи // превратится в diff --git a/examples/waitgroups/waitgroups.go b/examples/waitgroups/waitgroups.go index db894db86..dc0f28b55 100644 --- a/examples/waitgroups/waitgroups.go +++ b/examples/waitgroups/waitgroups.go @@ -26,7 +26,7 @@ func worker(id int, wg *sync.WaitGroup) { func main() { // Эта WaitGroup используется для ожидания выполнения - // всех горутинё запущенных здесь. + // всех горутин запущенных здесь. var wg sync.WaitGroup // Запускаем несколько горутин и инкрементируем счетчик diff --git a/examples/writing-files/writing-files.go b/examples/writing-files/writing-files.go index 90104b228..9a606e76b 100644 --- a/examples/writing-files/writing-files.go +++ b/examples/writing-files/writing-files.go @@ -1,4 +1,4 @@ -// Запись файло в Go следует тем же шаблонам, что мы +// Запись файлов в Go следует тем же шаблонам, что мы // видели ранее в главе "`Чтение`". package main @@ -18,7 +18,7 @@ func check(e error) { func main() { - // В этом примере показано вот как записать строку + // В этом примере показано как записать строку // (или только байты) в файл. d1 := []byte("hello\ngo\n") err := ioutil.WriteFile("/tmp/dat1", d1, 0644)