9. Как работает hello-world на Golang
Содержание
Разберемся как работает 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
- Строка 1 = Этот файл будет находиться в пакете с именем
main
, и его нужно назватьmain
, поскольку он включает точку входа программы. - Строка 3 = Чтобы использовать
Println()
, мы должны импортировать пакет fmt, чтобы использовать его в строке 6. - Строка 5 = фактическая начальная точка, это функция
main
. - Строка 6 = Это позволит нам напечатать «Hello #90DaysOfDevOps» в нашей системе.
Источники
- Стандартная библиотека Go
- Golang | Все Основы за 4 Часа Для Начинающих
- StackOverflow 2021 Developer Survey
- Why we are choosing Golang to learn
- Jake Wright - Learn Go in 12 minutes
- Techworld with Nana - Golang full course - 3 hours 24 mins
- NOT FREE Nigel Poulton Pluralsight - Go Fundamentals - 3 hours 26 mins
- FreeCodeCamp - Learn Go Programming - Golang Tutorial for Beginners
- Hitesh Choudhary - Complete playlist
Увидимся на 10-й день