Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗goPmScPk 266 of 350 menu
◀ ▶

Переменная файла в Go

Имя вне функций видно всем функциям этого файла. Такую переменную объявляют в начале файла через var, до объявлений функций. Из main и из других функций можно читать и менять одно и то же значение.

Счетчик увеличивают из двух функций:

package main import "fmt" var count int func addOne() { count = count + 1 } func showCount() { fmt.Println(count) } func main() { addOne() addOne() showCount() }

На экране 2. Обе функции работают с одной переменной count.

Локальное имя с тем же текстом внутри функции не заменяет переменную файла, пока внутри не появилось новое короткое объявление. Сначала на экране 5 из локального count, затем 1 из переменной файла:

package main import "fmt" var count int func resetLocal() { count := 5 fmt.Println(count) } func main() { count = 1 resetLocal() fmt.Println(count) }

Дан следующий код:

package main import "fmt" var total int func bump() { total = total + 3 } func main() { bump() fmt.Println(total) }

Скажите, что выведется.

Даны объявления:

var count int func main() { count := 2 fmt.Println(count) }

Скажите, какое count печатает main: локальное или из начала файла.

Объявите var count int в начале файла. Напишите main, которая два раза увеличивает count на 1 и печатает результат.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить