«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу получить доступ к переменным, объявленным внутри оператора Go `if` вне его?

Как я могу получить доступ к переменным, объявленным внутри оператора Go `if` вне его?

Опубликовано 18 января 2025 г.
Просматривать:751

How Can I Access Variables Declared Inside a Go `if` Statement Outside of It?

Область переменных в условных операторах

В Go переменные, объявленные в области действия оператора if, видны только внутри этого блока. Это может представлять проблему, когда необходимо использовать переменные, объявленные в условном операторе, за его пределами.

Рассмотрим следующий код:

if len(array1) > len(array2) {
    new1 := make([]string, 0, len(array1))
}

// Error: new1 is not visible here
new2 := make([]string, 0, len(new1))

В этом примере переменная new1 объявлена ​​внутри оператора if и может использоваться только в этой области. Чтобы решить эту проблему, new1 необходимо объявить вне оператора if и инициализировать внутри него.

var new1 []string

if len(array1) > len(array2) {
    new1 = make([]string, 0, len(array1))
} else {
    new1 = make([]string, 0, len(array2))
}

new2 := make([]string, 0, len(new1))

Теперь new1 объявляется вне оператора if и доступен как в блоках if, так и в else. Это позволяет использовать его в последующем коде, где он передается в качестве аргумента для make.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3