Merge pull request #512 from Flyr1Q/ru_chapters_2.0_and_2.1

Ru chapters 2.0 and 2.1
This commit is contained in:
astaxie
2015-08-20 11:06:37 +08:00
3 changed files with 72 additions and 1 deletions

View File

@@ -6,4 +6,4 @@
- [Содержание](preface.md)
- Предыдущий раздел: [Инструменты разработки для Go](01.4.md)
- Следующий раздел: [Основы Go](02.0.md)
- Следующий раздел: [Введение в Go](02.0.md)

17
ru/02.0.md Normal file
View File

@@ -0,0 +1,17 @@
# 2 Введение в Go
Go - компилируемый системный язык программирования, и он относится к С-подобным языкам. Однако, скорость его компиляции намного выше. Он имеет всего 25 ключевых слов... даже меньше чем букв в английском алфавите! Давайте взглянем на эти ключевые слова прежде чем мы начнем.
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var
В этой главе, я собираюсь научить вас основам Go. Вы обнаружите, насколько лаконичен язык Go, и как превосходна его архитектура. Программирование на Go может быть по-настоящему веселым. После того, как вы закончите эту главу, вы будете знакомы с упомянутыми ключевыми словами.
## Ссылки
- [Содержание](preface.md)
- Предыдущий раздел: [Глава 1 Итоги раздела](01.4.md)
- Следующий раздел: ["Привет, Go"](02.1.md)

54
ru/02.1.md Normal file
View File

@@ -0,0 +1,54 @@
# 2.1 Привет, Go
Прежде чем мы начнем конструировать приложение на Go, нам необходимо научиться писать простые программы. Вы не сможете построить здание, не узнав, сперва, как проложить фундамент. Вследствие чего, в этом разделе мы изучим базовый синтакс для запуска простой программы.
## Программа
Согласно международной практике, изучение языков программирования принято начинать с написания программы, которая выводит текст "Hello, World".
Вы готовы? Let's Go!
package main
import "fmt"
func main() {
fmt.Printf("Hello, world or 你好,世界 or καλημ ́ρα κóσμ or こんにちは世界 or Привет, мир\n")
}
Это выводит следующую информацию.
Hello, world or 你好,世界 or καλημ ́ρα κóσμ or こんにちは世界 or Привет, мир
## Объяснение
Во-первых программы в Go состоят из `package` (пакетов).
`package <pkgName>` (В данном случае `package main`) говорит нам о том, что этот исходный файл принадлежит к `main` пакету. А ключевое слово `main`, что данный пакет должен компилироваться в программу, а не в пакет файлов с расширением `.a`.
Каждая исполняемая программа имеет один и только один `main` пакет, а также вам необходимо реализовать функцию `main` без аргументов и возвращаемых значений.
Чтобы вывести `Hello, world…`, мы вызвали функцию `Printf`. Эта функция находится в пакете `fmt`, поэтому нам надо импортировать этот пакет, что мы и делаем в третьей строчке кода - `import "fmt"`.
Пакеты в Go похожи на аналогичные в Python, вот несколько преимуществ пакетов:
Модульность (разбить программу на несколько модулей) и повторное использование (каждый модуль может быть использован во множестве программ). Сейчас мы просто рассмотрели общее представление пакетов, и чуть позже напишем свой собственный пакет.
В пятой строке мы использовали ключевое слово `func` для определения функции `main`. Тело функции находится внутри `{}`, прямо как в C, C++ и Java.
Как вы видите она не принимает ни один аргумент. Мы научимся писать функции, принимающие аргументы всего через минуту, а также функции которые не возвращают значение или возращают несколько.
В шестой строке мы вызываем функцию `Printf`, которая находится в пакете `fmt`. Она была вызвана, используя синтаксис `<pkgName>.<funcName>` (`<имя пакета>.<имя функции>`), в Python-стиле.
Как мы упоминали в 1 главе, имя пакета и имя папки (которая содержит этот пакет) могут быть различными. Здесь `<pkgName>` (`<имя пакета>`) исходит из пакета, а не из имени папки.
Как вы могли заметить, пример выше содержит множество символов, которых нет в таблице ASCII. Это было нужно для того, чтобы продемонстрировать, что Go поддерживает UTF-8 по-умолчанию. Вы можете использовать в ваших программах любой символ из UTF-8.
## Заключение
Go использует `package` (пакет) для структурирования программ. Функция `main.main()` (эта функция находится в пакете `main`) входной пункт каждой программы. Go поддерживает стандарт UTF-8, так как один из создателей Go является также одним из создателей UTF-8, так что Go поддерживает множество языков с самого рождения.
## Ссылки
- [Содержание](preface.md)
- Предыдущий раздел: [Введение в Go](02.0.md)
- Следующий раздел: [Основы Go](02.2.md)