РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
907 of 1593 menu

Функция init

Функция init - это специальная функция в Go, которая автоматически вызывается при инициализации пакета. Она не принимает параметров и не возвращает значений. Функция init выполняется до функции main и используется для настройки начального состояния пакета, инициализации переменных, установки соединений с базами данных или выполнения других подготовительных операций.

Синтаксис

func init() { // код инициализации }

Пример

Давайте создадим пакет с функцией init, которая выводит сообщение при инициализации:

package main import "fmt" func init() { fmt.Println("Package initialized") } func main() { fmt.Println("Main function started") }

Результат выполнения кода:

"Package initialized" "Main function started"

Пример

В одном пакете может быть несколько функций init. Они выполняются в порядке объявления в файле:

package main import "fmt" func init() { fmt.Println("First init") } func init() { fmt.Println("Second init") } func main() { fmt.Println("Main function") }

Результат выполнения кода:

"First init" "Second init" "Main function"

Пример

Функция init часто используется для инициализации пакетов при импорте. Давайте рассмотрим пример с инициализацией глобальной переменной:

package main import "fmt" var config map[string]string func init() { config = make(map[string]string) config["host"] = "localhost" config["port"] = "8080" fmt.Println("Config initialized") } func main() { fmt.Println("Host:", config["host"]) fmt.Println("Port:", config["port"]) }

Результат выполнения кода:

"Config initialized" "Host: localhost" "Port: 8080"

Смотрите также

  • функцию main,
    которая является точкой входа в программу
  • порядок инициализации пакетов и переменных,
    который определяет последовательность вызова функций init
  • область видимости пакета,
    в которой объявляются и используются функции init
  • функции в блочной области видимости,
    которые ограничены своими блоками кода
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить