言語変数のスコープを行きます2024 年の最新の入門チュートリアル。このコースでは ローカル変数,グローバル変数,仮パラメータ,ローカルおよびグローバル変数を初期化します, について学習できます。
ソースコード内で一定の範囲の種類によって表される識別子、変数、関数、またはパッケージのスコープを主張しました。
ゴー言語変数は、次の3つの場所で宣言することができます。
私たちは、特定のローカル変数、グローバル変数と仮パラメータを理解してみましょう。
生体内のスコープで関数本体、彼らは唯一の関数の変数宣言のローカル変数と呼ばれ、変数のパラメータと戻り値は、ローカル変数です。
次の例では、main()関数は、ローカル変数をA、B、Cを使用しています。
package main import "fmt" func main() { /* 声明局部变量 */ var a, b, c int /* 初始化参数 */ a = 10 b = 20 c = a + b fmt.Printf ("结果: a = %d, b = %d and c = %d\n", a, b, c) }
上記の出力の実装の例としては、次のとおりです。
结果: a = 10, b = 20 and c = 30
in vitroでの関数の変数宣言でグローバル変数と呼ばれ、グローバル変数(エクスポートされた後)であっても、外部のパッケージをパッケージ全体を使用することができます。
グローバル変数は任意の関数で使用することができ、次の例では、グローバル変数を使用する方法を示します。
package main import "fmt" /* 声明全局变量 */ var g int func main() { /* 声明局部变量 */ var a, b int /* 初始化参数 */ a = 10 b = 20 g = a + b fmt.Printf("结果: a = %d, b = %d and g = %d\n", a, b, g) }
上記の出力の実装の例としては、次のとおりです。
结果: a = 10, b = 20 and g = 30
グローバル変数とローカル変数に言語プログラムを行く同じ名前にすることができますが、関数内のローカル変数が優先されます。 例としては、次のとおりです:
package main import "fmt" /* 声明全局变量 */ var g int = 20 func main() { /* 声明局部变量 */ var g int = 10 fmt.Printf ("结果: g = %d\n", g) }
上記の出力の実装の例としては、次のとおりです。
结果: g = 10
使用されるローカル変数の関数としてフォームパラメータ。 例としては、次のとおりです:
package main import "fmt" /* 声明全局变量 */ var a int = 20; func main() { /* main 函数中声明局部变量 */ var a int = 10 var b int = 20 var c int = 0 fmt.Printf("main()函数中 a = %d\n", a); c = sum( a, b); fmt.Printf("main()函数中 c = %d\n", c); } /* 函数定义-两数相加 */ func sum(a, b int) int { fmt.Printf("sum() 函数中 a = %d\n", a); fmt.Printf("sum() 函数中 b = %d\n", b); return a + b; }
上記の出力の実装の例としては、次のとおりです。
main()函数中 a = 10 sum() 函数中 a = 10 sum() 函数中 b = 20 main()函数中 c = 30
デフォルトの異なるタイプのローカルおよびグローバル変数:
データの種類 | デフォルトの初期化 |
---|---|
int型 | 0 |
float32 | 0 |
ポインタ | ゼロ |