02.4
This commit is contained in:
9
ru/01.5.md
Normal file
9
ru/01.5.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# 1.5 Итоги раздела
|
||||
|
||||
В этом разделе мы поговорили о том, как установить Go тремя различными способами - из исходных кодов, из стандартных пакетов и с помощью сторонних утилит. Затем мы показали, как настроить окружение Go, в основном как установить нужное значение переменной $GOPATH. После этого мы рассказали о последовательности шагов для того, чтобы скомпилировать программу на Go. Мы также поговорили об утилитах командной строки Go, включая утилиты для компилирования, установки, форматирования и тестирования. И, наконец, существует множество инструментов разработки для Go, таких как LiteIDE, Sublime Text, Vim, Emacs, Eclipse, IntelliJ IDEA и т.д. Вы можете выбрать любой из них для того, чтобы исследовать мир Go.
|
||||
|
||||
## Ссылки
|
||||
|
||||
- [Содержание](preface.md)
|
||||
- Предыдущий раздел: [Инструменты разработки для Go](01.4.md)
|
||||
- Следующий раздел: [Основы Go](02.0.md)
|
||||
17
ru/02.0.md
Normal file
17
ru/02.0.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# 2. Основы Go
|
||||
|
||||
Go - компилируемый язык, созданный для системного программирования, он относится к семейству языков C. Однако, компиляция программ на Go происходит значительно быстрее, чем в других языках этого семейства. В Go существует лишь 25 ключевых слов - меньше, чем 26 букв в английском алфавите! Прежде, чем начать, давайте посмотрим на эти ключевые слова:
|
||||
|
||||
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 может быть очень занимательно! По завершении этой главы Вы ознакомитесь с указанными выше ключевыми словами.
|
||||
|
||||
## Ссылки
|
||||
|
||||
- [Содержание](preface.md)
|
||||
- Предыдущий раздел: [Итоги Раздела 1](01.5.md)
|
||||
- Следующий раздел: ["Hello, Go"](02.1.md)
|
||||
53
ru/02.1.md
Normal file
53
ru/02.1.md
Normal file
@@ -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)
|
||||
Reference in New Issue
Block a user