МиниГо #2: Пакеты или Packages

Это второй урок нашего путешествия по изучению языка программирования Go (Golang) и сегодня мы поговорим про главную особенность языка — пакеты.

Объявление пакета

Первая строка исходного файла Go — это «объявление пакета», определяемое ключевым словом package.

Это служит нескольким целям:

  • Обеспечивает структуру для группировки связанных исходных файлов.
  • Оно обеспечивает механизм повторного использования кода.
  • Оно отличает исполняемые пакеты от пакетов утилит (т. е. библиотек).

Пример:

package main

go build создаст исполняемый бинарный (двоичный) файл для исходных файлов с package main.

Импортирование пакета

Ключевое слово import позволяет подключать и использовать код из других пакетов.

Пример:

import "fmt"

Переменная ссылающаяся на пакет создается из имени импортируемого пакета — в данном случае fmt.

Импорт нескольких пакетов

Обычно в исходный файл импортируется несколько пакетов. Для этого принято использовать один оператор импорта со списком пакетов в круглых скобках, как показано ниже:

import (
  "package1"
  "package2"
)

Псевдоним пакета

Можно определить «псевдоним» как сокращенное имя вместо стандартной переменной обращения к пакету. Для этого нужно указать псевдоним перед именем пакета следующим образом:

import (
  p1 "package1"
  "package2"
)

Это позволяет вызывать функции из package1 следующим образом:

p1.SampleFunc()

Пример целиком

Это пример «Hello World» на языке Go, который демонстрирует описанные выше концепции.

package main

import (
  "fmt"
  t "time"
)

func main() {
  fmt.Println("Hello, World!")
  fmt.Println("The time is now", t.Now())
}

Основные моменты:

  • Строка 1: Объявление пакета с именем пакета main. Это сделает программу исполняемой.
  • Строка 3: Оператор import импортирует список пакетов.
  • Строка 4: Импортирует пакет fmt с его стандартным именем (fmt).
  • Строка 5: Импортирует пакет time с псевдонимом t.
  • Строка 9: Использует функцию Println из пакета fmt для вывода сообщения «Hello, World!».
  • Строка 10: Использует функцию Println из пакета fmt для вывода сообщения «The time is now », за которым следует текущее время, возвращаемое функцией Now из пакета time (псевдоним t).

Ниже пример вывода приведенной выше программы:

$ go run main.go
Hello, World!
The time is now 2020-08-16 18:07:24.180778888 +0000 UTC m=+0.000097040

Краткие выводы

  • Ключевое слово package используется для обязательного объявления пакета.
  • Ключевое слово import используется для добавления в программу других пакетов.
  • main — это специальное имя пакета для исполняемых программ.

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

Опубликовано 4 сентября 2024 в 13:35
Обновлено 4 сентября 2024 в 13:35
Категория: Блог
Теги: