Давайте вернемся к истокам и взглянем еще раз на hello_world написанный на go
package main
import "fmt"
func main() {
fmt.Println("Hello world")
}
Давайте взглянем на самую первую строчку package main что она означает ? —
Пакет в Go - это, по сути, именованная коллекция из одного или нескольких связанных файлов .go. Основная цель пакетов в Go - помочь вам изолировать и повторно использовать код.
Каждый файл .go, который вы пишете, должен начинаться с оператора package {name}, который указывает на имя пакета, частью которого является данный файл. Например, в приведенном выше коде строка package main объявляет, что файл main.go является частью пакета с именем main.
При этом пакет main — особенный: давайте заменим package main на package meow
package meow
import "fmt"
func main() {
fmt.Println("Hello world")
}
…
Как видите без package main — никуда
Но это не все: давайте попробуем переименовать метод main()
package main
import "fmt"
func meow() {
fmt.Println("Hello world")
}
Как я упоминал на третьем занятии метод main() — тоже особенный: он обязательно должен присутствовать в пакете main и является точкой входа в программу
Исполняемые программы (те, которые имеют пакет
main) называются командами. Остальные называются просто пакетами.
Принято, чтобы метод main() находилась в файле с именем main.go. Технически это не обязательно, но соблюдение этого правила облегчает поиск точки входа в приложение для тех, кто будет читать ваш код в будущем.
Теперь давайте создадим новый файл hello_printer рамках пакета main
package main
import "fmt"
func printHello() {
fmt.Println("Hello World")
}