Для чего можно использовать глобальную переменную в Go?

Глобальные переменные в Go используются для хранения состояния или данных, которые должны быть доступны во многих функциях или пакетах без необходимости передавать их явно через параметры.

Короткий ответ

Что ответить на собеседовании

Глобальные переменные в Go используются для хранения состояния или данных, которые должны быть доступны во многих функциях или пакетах без необходимости передавать их явно через параметры. Это удобно для конфигурационных настроек, кэширования, счетчиков или общих ресурсов.

Подробный разбор

Ответ с пояснениями

Глобальные переменные в Go используются для хранения состояния или данных, которые должны быть доступны во многих функциях или пакетах без необходимости передавать их явно через параметры. Это удобно для конфигурационных настроек, кэширования, счетчиков или общих ресурсов.

Однако стоит помнить, что глобальные переменные могут создавать сложности с конкурентным доступом в многопоточных программах, поэтому при их использовании часто применяют синхронизацию (например, mutex) для предотвращения гонок данных.

Пример использования глобальной переменной с mutex:

package main

import (
    "fmt"
    "sync"
)

var (
    counter int
    mu      sync.Mutex
)

func increment() {
    mu.Lock()
    defer mu.Unlock()
    counter++
}

func main() {
    increment()
    fmt.Println(counter) // 1
}

Таким образом, глобальные переменные полезны для хранения общих данных, но требуют аккуратного управления в конкурентной среде.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее