5.2 KiB
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 поддерживает множество языков с самого рождения.
Ссылки
- Содержание
- Предыдущий раздел: Введение в Go
- Следующий раздел: Основы Go