9. Как работает hello-world на Golang

Обновлено: 2024-03-12
4 мин

Разберемся как работает hello-world

Как работает Go

Вчера мы прошли процедуру установки Go на ПК, а затем создали наше первое приложение Go.

В этом разделе мы собираемся глубже изучить код и понять еще несколько вещей о языке Go.

Что такое компиляция?

Прежде чем мы перейдем к 6 строкам кода Hello World, которые написали вчера, нам нужно немного разобраться в компиляции.

Языки программирования, которые мы обычно используем, такие как Python, Java, Go и C++, являются языками высокого уровня. Это означает, что они удобочитаемы для человека, но когда машина пытается выполнить программу, она должна быть в форме, понятной машине. Мы должны перевести наш человекочитаемый код в машинный код, что называется компиляцией.

Из приведенного выше вы можете видеть, что мы сделали в День 8 - мы создали простой Hello World main.go, а затем использовали команду go build main.go для компиляции нашего исполняемого файла.

package main

import "fmt"

func main() {
    fmt.Println("Hello #90DaysOfDevOps")
}

Что такое пакеты?

Пакет — это набор исходных файлов в одном каталоге, которые скомпилированы вместе. Мы можем упростить это еще больше, пакет — это набор файлов .go в одном каталоге. Помните нашу папку Hello из Дня 8? Когда вы попадете в более сложные программы Go, вы можете обнаружить, что у вас есть папка1, папка2 и папка3, содержащие разные файлы .go, которые составляют вашу программу с несколькими пакетами.

Мы используем пакеты, чтобы мы могли повторно использовать код других людей, нам не нужно писать все с нуля. Возможно, нам нужен калькулятор как часть нашей программы, вы, вероятно, могли бы найти существующий пакет Go, содержащий математические функции, которые вы могли бы импортировать в свой код, что в конечном итоге сэкономит вам много времени и усилий.

Go рекомендует организовывать код в пакеты, чтобы его было легко повторно использовать и поддерживать исходный код.

Hello #90DaysOfDevOps шаг за шагом

Теперь давайте посмотрим на наш файл main.go Hello #90DaysOfDevOps и пройдемся по строкам.

В первой строке у нас есть package main, что означает, что этот файл принадлежит пакету с именем main. Все файлы .go должны принадлежать пакету, они также должны иметь «package something» в открывающей строке.

Пакет можно назвать как угодно. Мы должны назвать этот main, так как это начальная точка программы, которая будет в этом пакете, это правило.

Всякий раз, когда мы хотим скомпилировать и выполнить наш код, мы должны сообщить машине, где должно начаться выполнение. Мы делаем это, написав функцию с именем main. Машина будет искать функцию с именем main, чтобы найти точку входа в программу.

Функция — это блок кода, который может выполнять определенную задачу и может использоваться во всей программе.

Вы можете объявить функцию с любым именем, используя func, но в этом случае нам нужно назвать ее main, так как именно здесь начинается код.

Далее мы рассмотрим строку 3 нашего кода, импорт, это в основном означает, что вы хотите добавить другой пакет в свою основную программу. fmt — это стандартный пакет, используемый здесь, предоставленный Go, этот пакет содержит функцию Println(), и, поскольку мы импортировали ее, мы можем использовать ее в строке 6. Существует ряд стандартных пакетов, которые вы можете включить в свою программу и используйте или повторно используйте их в своем коде, избавляя вас от необходимости писать с нуля.

Println(), который у нас есть, — это способ записи в стандартный вывод на терминал, где когда-либо исполняемый файл был успешно выполнен. Не стесняйтесь изменять сообщение между скобками ().

TLDR

Что такое TLDR

  • Строка 1 = Этот файл будет находиться в пакете с именем main, и его нужно назвать main, поскольку он включает точку входа программы.
  • Строка 3 = Чтобы использовать Println(), мы должны импортировать пакет fmt, чтобы использовать его в строке 6.
  • Строка 5 = фактическая начальная точка, это функция main.
  • Строка 6 = Это позволит нам напечатать «Hello #90DaysOfDevOps» в нашей системе.

Источники

Увидимся на 10-й день