diff options
| -rw-r--r-- | ru-ru/go-ru.html.markdown | 30 | 
1 files changed, 16 insertions, 14 deletions
| diff --git a/ru-ru/go-ru.html.markdown b/ru-ru/go-ru.html.markdown index f76ab920..8098f601 100644 --- a/ru-ru/go-ru.html.markdown +++ b/ru-ru/go-ru.html.markdown @@ -15,10 +15,10 @@ Go - это язык общего назначения, целью которо  способ решать насущные проблемы.  Концепции Go схожи с другими императивными статически типизированными языками. -Быстро компилируются и быстро выполняются, имеет легкие в понимании конструкции +Быстро компилируется и быстро исполняется, имеет легкие в понимании конструкции  для создания масштабируемых и многопоточных программ. -Имеет в наличии отличную стандартную библиотеку и большое комьюнити, полное +Может похвастаться отличной стандартной библиотекой и большим комьюнити, полным  энтузиазтов.  ```go @@ -50,7 +50,7 @@ func main() {  }  // Функции содержат входные параметры в круглых скобках. -// Если параметров нет, пустые скобки все равно обязательны. +// Пустые скобки все равно обязательны, даже если параметров нет.  func beyondHello() {      var x int // Переменные должны быть объявлены до их использования.      x = 3     // Присвоение значения переменной. @@ -102,11 +102,13 @@ func learnTypes() {      p, q := learnMemory() // объявление p и q как указателей на int.      fmt.Println(*p, *q)   // * извлекает указатель. Печатает два int-а. -    // Map как словарь или хеш теблица из других языков является динамически -    // растущим ассоциативным массивом. +    // Map как словарь или хеш теблица из других языков является ассоциативным +    // массивом с динамически изменяемым размером.      m := map[string]int{"three": 3, "four": 4}      m["one"] = 1 +    delete(m, "three") // встроенная функция, удаляет элемент из map-а. +      // Неиспользуемые переменные в Go являются ошибкой.      // Нижнее подчеркивание позволяет игнорировать такие переменные.      _, _, _, _, _, _, _, _, _ = s2, g, f, u, pi, n, a3, s4, bs @@ -212,8 +214,8 @@ func learnInterfaces() {      // Вызов метода String у i, типа Stringer. Вывод такой же что и выше.      fmt.Println(i.String()) -    // Функции в пакете fmt вызывают метод String у объектов для получения -    // строкового представления о них. +    // Функции в пакете fmt сами всегда вызывают метод String у объектов для +    // получения строкового представления о них.      fmt.Println(p) // Вывод такой же что и выше. Println вызывает метод String.      fmt.Println(i) // тоже самое @@ -254,7 +256,7 @@ func learnConcurrency() {      go inc(0, c) // go начинает новую горутину.      go inc(10, c)      go inc(-805, c) -    // Считывание всех трех результатов из канала и вывоод на экран. +    // Считывание всех трех результатов из канала и вывод на экран.      // Нет никакой гарантии в каком порядке они будут выведены.      fmt.Println(<-c, <-c, <-c) // канал справа, <- обозначает "получение". @@ -293,14 +295,14 @@ func (p pair) ServeHTTP(w http.ResponseWriter, r *http.Request) {  }  ``` -## Что еще почитать +## Что дальше  Основа всех основ в Go это [официальный веб сайт](http://golang.org/).  Там можно пройти туториал, поиграться с интерактивной средой Go и почитать  объемную документацию. -Для ознакомления рекомендуется почитать исходные коды [стандартной библиотеки -Go](http://golang.org/src/pkg/). Отлично задокументированая, она является -лучшим источником для чтения и понимания Go, его стиля и идиом. Либо можно, -кликнув на имени функции в [документации](http://golang.org/pkg/), перейти к ее -исходным кодам. +Для живого ознакомления рекомендуется почитать исходные коды [стандартной +библиотеки Go](http://golang.org/src/pkg/). Отлично задокументированая, она +является лучшим источником для чтения и понимания Go, его стиля и идиом. Либо +можно, кликнув на имени функции в [документации](http://golang.org/pkg/), +перейти к ее исходным кодам. | 
