diff --git a/ru/01.0.md b/ru/01.0.md index d71b4a1db6ab76fb7118f89e809b727022c7050d..5dff1d75a43af5283b5f1d019f55fb84804e6fc0 100644 --- a/ru/01.0.md +++ b/ru/01.0.md @@ -1,4 +1,4 @@ -# 1 Настройка окружения Go +# 1. Настройка окружения Go Добро пожаловать в мир Go! Давайте начнем. diff --git a/ru/01.1.md b/ru/01.1.md index 4c865d9c7619af79c85c8e8ca91590e6820062e1..27bfcdad4be076953d402fc9a643c1fdc1a1e6c3 100644 --- a/ru/01.1.md +++ b/ru/01.1.md @@ -1,4 +1,4 @@ -# 1.1 Установка +#1.1 Установка ## 3 способа установить Go diff --git a/ru/01.4.md b/ru/01.4.md index c38005e57b0c995653b8840e704655233da2b81e..5d4a5e0d0798113666644a357321746c6c91394d 100644 --- a/ru/01.4.md +++ b/ru/01.4.md @@ -1,4 +1,4 @@ -# Инструменты разработки для Go +#1.4 Инструменты разработки для Go В этом разделе я ознакомлю Вас с несколькими средами разработки (IDE), которые помогут Вам более эффективно программировать. Они обладают такими возможностями как умное автодополнение и автоформатирование. Все они кроссплатформенные, поэтому шаги по настройке, которые я покажу, не будут слишком отличаться в зависимости от операционной системы, которую Вы используете. diff --git a/ru/02.1.md b/ru/02.1.md new file mode 100644 index 0000000000000000000000000000000000000000..66e86d25c8522cabdc976afe58e1a4018b0efc06 --- /dev/null +++ b/ru/02.1.md @@ -0,0 +1,53 @@ +# 2.1 Hello, Go + +Перед тем, как разработать приложения на Go, мы должны узнать, как пишутся простые программы. Мы не можем узнать, как построить дом без знания от том, как построить фундамент. Поэтому в этом разделе мы изучим основы синтаксиса для того, чтобы писать простые программы. + +## Программа + +Согласно международной практике перед тем, как начать обучение программированию на каком-либо языке, стоит узнать, как написать программу, которая выводит на экран фразу "Hello world". + +Вы готовы? Поехали! + + package main + + import "fmt" + + func main() { + fmt.Printf("Hello, world или 你好,世界 или καλημ ́ρα κóσμ или こんにちは世界\n") + } + +Эта программа печатает следующую информацию: + + Hello, world или 你好,世界 или καλημ ́ρα κóσμ или こんにちは世界 + +## Объяснение + +Первое, что Вы должны запомнить - это то, что программы на 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, имя пакета и каталога, в котором находится пакет, могут различаться. В приведенном примере `<имяПакета>` задается командой `package <имяПакета>` и не зависит от имени каталога, в котором пакет находится. + +Вы можете заметить, что вышеприведенный пример содержит множество символов, не относящихся к ASCII. Мы сделали это для того, чтобы показать, что Go по умолчанию поддерживает UTF-8. В программах можно использовать любой символ UTF-8. + +## Заключение + +Go использует пакеты - `package` (как модули в Python) для организации программ. Функция `main.main()` (она должна находиться в пакете `main`) является входной точкой любой программы. Go поддерживает символы UTF-8, так как один из создателей Go - создатель UTF-8, поэтому Go множество языков с момента своего создания. + +## Ссылки + +- [Содержание](preface.md) +- Предыдущий раздел: [Основы Go](02.0.md) +- Следующий раздел: [Фундамент Go](02.2.md) diff --git a/ru/preface.md b/ru/preface.md index c723306a9f882dfc3fa879f1a3664cf4d55986fc..89b40c55aa668f0b61e346cc48da6075f5725fb2 100644 --- a/ru/preface.md +++ b/ru/preface.md @@ -4,7 +4,7 @@ - 1.3. [Утилиты Go](01.3.md) - 1.4. [Инструменты разработки для Go](01.4.md) - 1.5. [Итоги раздела](01.5.md) -- 2.[Go basic knowledge](02.0.md) +- 2.[Основы Go](02.0.md) - 2.1. ["Hello, Go"](02.1.md) - 2.2. [Go foundation](02.2.md) - 2.3. [Control statements and functions](02.3.md)