Вот различные сценарии, в которых эти методы находят полезные приложения:
package main import "fmt" func main() { i := 10 // scope: main j := 4 // Shadowing i within this block for i := 'a'; iс использованием {} пары
package main import "fmt" func main() { i := 1 j := 2 // Create new scope with { } block { // Shadow i with a new local variable i := "hi" // Increment j j fmt.Println(i, j) // hi 3 } // Original i comes into scope fmt.Println(i, j) // 1 3 }Использование функций Calls
package main import "fmt" func fun(i int, j *int) { i // Implicitly shadowing (used as local) *j // Explicitly shadowing (used as global) fmt.Println(i, *j) // 11 21 } func main() { i := 10 // scope: main j := 20 fun(i, &j) fmt.Println(i, j) // 10 21 }Задержка глобальных переменных
]package main import "fmt" var i int = 1 // Global variable func main() { j := 2 fmt.Println(i, j) // 1 2 // Shadowing global i i := 10 fmt.Println(i, j) // 10 2 fun(i, j) // 10 2 } func fun(i, j int) { fmt.Println(i, j) // 10 2 }Преимущества областей объема и тени
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3