From 334c3a19c44ec248cfff9db46bb90c1634974ec2 Mon Sep 17 00:00:00 2001 From: Flyr1Q Date: Wed, 19 Aug 2015 23:31:01 +0600 Subject: [PATCH 1/2] Add russian translation of chapter 2.0 --- ru/01.5.md | 2 +- ru/02.0.md | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 ru/02.0.md diff --git a/ru/01.5.md b/ru/01.5.md index 73dda7d0..7c6ae727 100644 --- a/ru/01.5.md +++ b/ru/01.5.md @@ -6,4 +6,4 @@ - [Содержание](preface.md) - Предыдущий раздел: [Инструменты разработки для Go](01.4.md) -- Следующий раздел: [Основы Go](02.0.md) +- Следующий раздел: [Введение в Go](02.0.md) diff --git a/ru/02.0.md b/ru/02.0.md new file mode 100644 index 00000000..b34727ab --- /dev/null +++ b/ru/02.0.md @@ -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) From c9550e0c8ec08a631f550dcbf5a91ee426a8f076 Mon Sep 17 00:00:00 2001 From: Flyr1Q Date: Thu, 20 Aug 2015 00:36:32 +0600 Subject: [PATCH 2/2] Add russian translation of chapter 2.1 --- ru/02.1.md | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 ru/02.1.md diff --git a/ru/02.1.md b/ru/02.1.md new file mode 100644 index 00000000..2b543faa --- /dev/null +++ b/ru/02.1.md @@ -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 ` (В данном случае `package main`) говорит нам о том, что этот исходный файл принадлежит к `main` пакету. А ключевое слово `main`, что данный пакет должен компилироваться в программу, а не в пакет файлов с расширением `.a`. + +Каждая исполняемая программа имеет один и только один `main` пакет, а также вам необходимо реализовать функцию `main` без аргументов и возвращаемых значений. + +Чтобы вывести `Hello, world…`, мы вызвали функцию `Printf`. Эта функция находится в пакете `fmt`, поэтому нам надо импортировать этот пакет, что мы и делаем в третьей строчке кода - `import "fmt"`. + +Пакеты в Go похожи на аналогичные в Python, вот несколько преимуществ пакетов: +Модульность (разбить программу на несколько модулей) и повторное использование (каждый модуль может быть использован во множестве программ). Сейчас мы просто рассмотрели общее представление пакетов, и чуть позже напишем свой собственный пакет. + +В пятой строке мы использовали ключевое слово `func` для определения функции `main`. Тело функции находится внутри `{}`, прямо как в C, C++ и Java. + +Как вы видите она не принимает ни один аргумент. Мы научимся писать функции, принимающие аргументы всего через минуту, а также функции которые не возвращают значение или возращают несколько. + +В шестой строке мы вызываем функцию `Printf`, которая находится в пакете `fmt`. Она была вызвана, используя синтаксис `.` (`<имя пакета>.<имя функции>`), в Python-стиле. + +Как мы упоминали в 1 главе, имя пакета и имя папки (которая содержит этот пакет) могут быть различными. Здесь `` (`<имя пакета>`) исходит из пакета, а не из имени папки. + +Как вы могли заметить, пример выше содержит множество символов, которых нет в таблице 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) \ No newline at end of file