Golang 関数の変数のスコープを理解する

王林
リリース: 2023-12-23 08:09:55
オリジナル
1152 人が閲覧しました

Golang 関数の変数のスコープを理解する

Golang 関数の変数のスコープを理解するには、具体的なコード例が必要です。

Golang では、関数はパラメータとして他の関数に渡すことができる特殊な変数タイプです。を戻り値として返すこともできます。関数変数のスコープとは、コード内の関数変数の表示およびアクセス可能な範囲を指します。

関数変数のスコープは、グローバル スコープとローカル スコープに分けることができます。

グローバル スコープの関数変数は関数の外部で定義され、プログラム全体のどこからでもアクセスして使用できます。以下は例です:

package main import "fmt" func add(a, b int) int { return a + b } var sub = func(a, b int) int { return a - b } func main() { fmt.Println(add(2, 3)) // 输出:5 fmt.Println(sub(6, 4)) // 输出:2 }
ログイン後にコピー

上の例では、add()関数はmain()関数の外側で定義されており、グローバル関数変数です。それは他の関数で呼び出すことができます。subはグローバル匿名関数変数であり、他の関数でも呼び出すことができます。

ローカル スコープ関数変数は関数内で定義され、定義されている関数内でのみアクセスおよび使用できます。以下に例を示します。

package main import "fmt" func main() { mul := func(a, b int) int { return a * b } result := mul(2, 3) fmt.Println(result) // 输出:6 }
ログイン後にコピー

上記の例では、mulはローカル関数変数であり、main()関数内でのみ呼び出すことができます。main()関数内で、他の関数と同様に呼び出して、対応する結果を取得できます。

関数変数のスコープも変数のスコープ規則に従うことに注意してください。つまり、内側のスコープでは、外側のスコープの変数にアクセスできます。以下に例を示します。

package main import "fmt" func main() { x := 10 add := func(a, b int) int { return a + b + x } result := add(2, 3) fmt.Println(result) // 输出:15 }
ログイン後にコピー

上記の例では、addはローカル関数変数であり、その中で外部スコープの変数xxにアクセスできます。したがって、add(2, 3)を呼び出すと、2 3 10の結果、つまり15が返されます。

要約すると、関数変数のスコープを理解することが非常に重要です。これにより、コード内で表示およびアクセスできる変数の範囲が決まります。特定のコード例を通じて、関数変数のスコープの概念をより深く理解できます。

以上がGolang 関数の変数のスコープを理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。