Пакеты в Go - Часть 1
Все программы Go организованы в группы файлов, называемые пакетами, так что код может быть включен в другие проекты в виде небольших многократно используемых частей.
Давайте посмотрим на пакеты, которые составляют функциональность Go в стандартной библиотеке http
, которая содержит ряд связанных файлов с расширением .go
.
net/http/
cgi/
cookiejar/
testdata/
fcgi/
httptest/
httputil/
pprof/
testdata/
Каждый исходный файл Go принадлежит пакету. Объявление пакета должно быть первой строкой кода в исходном файле Go. Все функции, типы и переменные, определенные в исходном файле Go, становятся частью объявленного пакета.
package <packagename>
Соглашение об именах пакетов
Соглашение об именовании вашего пакета заключается в использовании имени каталога, в котором он находится.
Называя пакеты и их каталоги, вы должны использовать короткие, лаконичные имена в нижнем регистре, без under_scores
или mixedCaps
. Часто это простые существительные, например:
time
(обеспечивает функционал для измерения и отображения времени)list
(реализует двусвязный список)http
(предоставляет реализации HTTP-клиента и сервера)
Имена пакетов могут быть сокращены, если сокращение знакомо программисту. Широко используемые пакеты часто имеют сжатые имена:
strconv
(преобразование строки)syscall
(системный вызов)fmt
(форматированный ввод / вывод)
Имейте в виду, что уникальное имя не требуется, поскольку вы импортируете пакет, используя его полный путь.
Пакет main и функция main()
В пакете main
запускаются программы Go. Это специальный пакет, который предназначен для компиляции в двоичный исполняемый файл.
Функция main() - это специальная функция, которая является точкой входа в исполняемую программу. Давайте посмотрим на пример исполняемой программы на Go.
// Package declaration
package main
// Importing packages
import (
"fmt"
)
func main() {
fmt.Println("Hello, world!")
}
go run main.go
# Output
Hello, world!
В следующей статье мы разберем как импортировать пакет в Golang и некоторые их особенности объявления