変動スコーピングとShadowing in goのアプリケーションは、可変視認性とデータの完全性を制御する強力な手法です。これらの手法が有用なアプリケーションを見つけるさまざまなシナリオを次に示します:
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 }を使用して、
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 }パッケージMain 「FMT」をインポートする Func Fun(I int、j *int){ I //暗黙のシャドーイング(ローカルとして使用) *J //明示的にシャドーイング(グローバルとして使用) fmt.println(i、 *j)// 11 21 } func main(){ i:= 10 //スコープ:メイン J:= 20 楽しい(私、&j) fmt.println(i、j)// 10 21 }シャドーグローバル変数
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 }パッケージMain 「FMT」をインポートする var i int = 1 //グローバル変数 func main(){ J:= 2 fmt.println(i、j)// 1 2 // Shadowing Global i i:= 10 fmt.println(i、j)// 10 2 楽しみ(I、J)// 10 2 } func fun(i、j int){ fmt.println(i、j)// 10 2 }範囲とシャドウイングの利点
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3