diff options
| author | boston <bost56@gmail.com> | 2014-09-02 11:41:31 +0600 | 
|---|---|---|
| committer | boston <bost56@gmail.com> | 2014-09-02 11:41:31 +0600 | 
| commit | 29e602675c6ec91c719bd072e70c81f3c067e5ce (patch) | |
| tree | bf628e0f7c226e04e4e9c78c20252bbc286365dd | |
| parent | 0b3f3e01e245ab2f73226fe4ba09d567ca76aa98 (diff) | |
Исправление ошибок русского языка / Typo fixes
Исправлены синтаксические и пунктуационные ошибки русского языка
| -rw-r--r-- | ru-ru/go-ru.html.markdown | 42 | 
1 files changed, 21 insertions, 21 deletions
| diff --git a/ru-ru/go-ru.html.markdown b/ru-ru/go-ru.html.markdown index 5b9d8ebf..44a22b45 100644 --- a/ru-ru/go-ru.html.markdown +++ b/ru-ru/go-ru.html.markdown @@ -13,11 +13,11 @@ lang: ru-ru  ---  Go - это язык общего назначения, целью которого является удобство, простота, -конкуррентность. Это не тренд в компьютерных науках, а новейший и быстрый +конкурентность. Это не тренд в компьютерных науках, а новейший и быстрый  способ решать насущные проблемы.  Концепции Go схожи с другими императивными статически типизированными языками. -Быстро компилируется и быстро исполняется, имеет легкие в понимании конструкции +Быстро компилируется и быстро исполняется, имеет лёгкие в понимании конструкции  для создания масштабируемых и многопоточных программ.  Может похвастаться отличной стандартной библиотекой и большим комьюнити, полным @@ -57,7 +57,7 @@ func main() {  func beyondHello() {      var x int // Переменные должны быть объявлены до их использования.      x = 3     // Присвоение значения переменной. -    // Краткое определение := позволяет объявить перменную с автоматической +    // Краткое определение := позволяет объявить переменную с автоматической      // подстановкой типа из значения.      y := 4      sum, prod := learnMultiple(x, y)        // Функция возвращает два значения. @@ -70,7 +70,7 @@ func learnMultiple(x, y int) (sum, prod int) {      return x + y, x * y // Возврат двух значений.  } -// Некотрые встроенные типы и литералы. +// Некоторые встроенные типы и литералы.  func learnTypes() {      // Краткое определение переменной говорит само за себя.      s := "Learn Go!" // Тип string. @@ -97,7 +97,7 @@ func learnTypes() {      // Слайсы (slices) имеют динамическую длину. И массивы, и слайсы имеют свои      // преимущества, но слайсы используются гораздо чаще. -    s3 := []int{4, 5, 9}    // Сравните с a3. Тут нет троеточия. +    s3 := []int{4, 5, 9}    // Сравните с a3, тут нет троеточия.      s4 := make([]int, 4)    // Выделение памяти для слайса из 4-х int (нули).      var d2 [][]float64      // Только объявление, память не выделяется.      bs := []byte("a slice") // Синтаксис приведения типов. @@ -113,7 +113,7 @@ func learnTypes() {      delete(m, "three") // Встроенная функция, удаляет элемент из map-а.      // Неиспользуемые переменные в Go являются ошибкой. -    // Нижнее подчеркивание позволяет игнорировать такие переменные. +    // Нижнее подчёркивание позволяет игнорировать такие переменные.      _, _, _, _, _, _, _, _, _ = s2, g, f, u, pi, n, a3, s4, bs      // Вывод считается использованием переменной.      fmt.Println(s, c, a4, s3, d2, m) @@ -121,16 +121,16 @@ func learnTypes() {      learnFlowControl() // Идем дальше.  } -// У Go есть полноценный сборщик мусора. В нем есть указатели но нет арифметики +// У Go есть полноценный сборщик мусора. В нем есть указатели, но нет арифметики  // указателей. Вы можете допустить ошибку с указателем на nil, но не с  // инкрементацией указателя.  func learnMemory() (p, q *int) {      // Именованные возвращаемые значения p и q являются указателями на int.      p = new(int) // Встроенная функция new выделяет память. -    // Выделенный int проинициализирован нулем, p больше не содержит nil. +    // Выделенный int проинициализирован нулём, p больше не содержит nil.      s := make([]int, 20) // Выделение единого блока памяти под 20 int-ов.      s[3] = 7             // Присвоить значение одному из них. -    r := -2              // Определить еще одну локальную переменную. +    r := -2              // Определить ещё одну локальную переменную.      return &s[3], &r     // Амперсанд(&) обозначает получение адреса переменной.  } @@ -139,7 +139,7 @@ func expensiveComputation() float64 {  }  func learnFlowControl() { -    // If-ы всегда требуют наличине фигурных скобок, но не круглых. +    // If-ы всегда требуют наличие фигурных скобок, но не круглых.      if true {          fmt.Println("told ya")      } @@ -178,7 +178,7 @@ func learnFlowControl() {      }      // Функции являются замыканиями.      xBig := func() bool { -        return x > 10000 // Ссылается на x, объявленый выше switch. +        return x > 10000 // Ссылается на x, объявленный выше switch.      }      fmt.Println("xBig:", xBig()) // true (т.к. мы присвоили x = e^10).      x = 1.3e3                    // Тут х == 1300 @@ -189,7 +189,7 @@ func learnFlowControl() {  love:      learnDefer()      // Быстрый обзор важного ключевого слова. -    learnInterfaces() // О! Интерфейсы, идем далее. +    learnInterfaces() // О! Интерфейсы, идём далее.  }  func learnDefer() (ok bool) { @@ -214,7 +214,7 @@ type pair struct {  // Объявление метода для типа pair. Теперь pair реализует интерфейс Stringer.  func (p pair) String() string { // p в данном случае называют receiver-ом. -    // Sprintf – еще одна функция из пакета fmt. +    // Sprintf – ещё одна функция из пакета fmt.      // Обращение к полям p через точку.      return fmt.Sprintf("(%d, %d)", p.x, p.y)  } @@ -234,7 +234,7 @@ func learnInterfaces() {      fmt.Println(p) // Вывод такой же, что и выше. Println вызывает метод String.      fmt.Println(i) // Вывод такой же, что и выше. -    learnVariadicParams("Учиться", "учиться", "и еще раз учиться!") +    learnVariadicParams("Учиться", "учиться", "и ещё раз учиться!")  }  // Функции могут иметь варьируемое количество параметров. @@ -263,22 +263,22 @@ func learnErrorHandling() {          // выведет "strconv.ParseInt: parsing "non-int": invalid syntax"          fmt.Println(err)      } -    // Мы еще обратимся к интерфейсам чуть позже, а пока... +    // Мы ещё обратимся к интерфейсам чуть позже, а пока...      learnConcurrency()  } -// c – это тип данных channel (канал), объект для конкуррентного взаимодействия. +// c – это тип данных channel (канал), объект для конкурентного взаимодействия.  func inc(i int, c chan int) {      c <- i + 1 // когда channel слева, <- являтся оператором "отправки".  } -// Будем использовать функцию inc для конкуррентной инкрементации чисел. +// Будем использовать функцию inc для конкурентной инкрементации чисел.  func learnConcurrency() {      // Тот же make, что и в случае со slice. Он предназначен для выделения      // памяти и инициализации типов slice, map и channel.      c := make(chan int) -    // Старт трех конкуррентных goroutine. Числа будут инкрементированы -    // конкуррентно и, может быть параллельно, если машина правильно +    // Старт трех конкурентных goroutine. Числа будут инкрементированы +    // конкурентно и, может быть параллельно, если машина правильно      // сконфигурирована и позволяет это делать. Все они будут отправлены в один      // и тот же канал.      go inc(0, c) // go начинает новую горутину. @@ -291,7 +291,7 @@ func learnConcurrency() {      cs := make(chan string)       // другой канал, содержит строки.      cc := make(chan chan string)  // канал каналов со строками.      go func() { c <- 84 }()       // пуск новой горутины для отправки значения -    go func() { cs <- "wordy" }() // еще раз, теперь для cs +    go func() { cs <- "wordy" }() // ещё раз, теперь для cs      // Select тоже что и switch, но работает с каналами. Он случайно выбирает      // готовый для взаимодействия канал.      select { @@ -327,7 +327,7 @@ func (p pair) ServeHTTP(w http.ResponseWriter, r *http.Request) {  Основа всех основ в Go это [официальный веб сайт](http://golang.org/).  Там можно пройти туториал, поиграться с интерактивной средой Go и почитать -объемную документацию. +объёмную документацию.  Для живого ознакомления рекомендуется почитать исходные коды [стандартной  библиотеки Go](http://golang.org/src/pkg/). Отлично задокументированная, она | 
