Давайте вернемся к истокам и взглянем еще раз на 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")
}