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

Область видимости блока

Область видимости блока в Go определяет, где доступны переменные, объявленные внутри фигурных скобок ({ ... }). Переменные, объявленные внутри блока, видны только в пределах этого блока и во всех вложенных блоках. За пределами блока эти переменные недоступны.

Синтаксис

{ // переменная видна только внутри этого блока var x int = 10 } // здесь x недоступна

Пример

Рассмотрим простой пример: объявим переменную внутри блока условия и попробуем использовать её снаружи:

package main import "fmt" func main() { if true { x := 100 fmt.Println("Inside block:", x) } // fmt.Println(x) // ошибка: x не определена вне блока fmt.Println("Outside block") }

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

"Inside block: 100" "Outside block"

Пример

Область видимости блока также работает для циклов. Переменная, объявленная в инициализации цикла, видна только внутри цикла:

package main import "fmt" func main() { for i := 0; i < 3; i++ { fmt.Println("i inside loop:", i) } // fmt.Println(i) // ошибка: i не определена вне цикла fmt.Println("Loop finished") }

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

"i inside loop: 0" "i inside loop: 1" "i inside loop: 2" "Loop finished"

Пример

Переменные, объявленные во вложенных блоках, могут переопределять переменные из внешних блоков (shadowing):

package main import "fmt" func main() { x := "outer" fmt.Println("Before inner block:", x) { x := "inner" fmt.Println("Inside inner block:", x) } fmt.Println("After inner block:", x) }

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

"Before inner block: outer" "Inside inner block: inner" "After inner block: outer"

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

  • область видимости пакета package-scope,
    которая определяет доступность переменных на уровне пакета
  • область видимости функции function-scope,
    которая охватывает всю функцию
  • затенение переменных shadowing,
    которое позволяет переопределять переменные во вложенных блоках
  • область видимости файла file-scope,
    которая ограничивает видимость импортов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить