summaryrefslogtreecommitdiffhomepage
path: root/ru-ru
diff options
context:
space:
mode:
Diffstat (limited to 'ru-ru')
-rw-r--r--ru-ru/go-ru.html.markdown30
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/),
+перейти к ее исходным кодам.