Golang 関数の戻り値変数は関数内にのみ存在し、関数の実行後に破棄されます。 1. 変数のスコープは、乗算関数の結果変数など、関数の内部に制限されます。 2. main 関数は関数の戻り値にアクセスできます。たとえば、calculateAvg 関数によって返される avg 変数は main 関数で使用できます。
Golang では、関数の戻り値変数のスコープは関数内に限定されます。これらの変数は、関数の実行後に破棄されます。
次の例は、関数戻り値変数のスコープを示しています。
package main import "fmt" func main() { // 在 main 函数中声明一个变量 x := 10 // 将 x 作为参数传递给 multiply 函数 y := multiply(x, 5) // 在 main 函数中使用 y fmt.Println(y) // 输出:50 } // multiply 函数返回 x * factor 的结果 func multiply(x, factor int) int { // 在 multiply 函数中声明一个变量 result := x * factor // 返回 result return result }
平均を計算する関数を考えてみましょう。 :
package main import "fmt" func main() { // 声明一个 []int 类型的 slice numbers := []int{1, 2, 3, 4, 5} // 计算平均数 avg := calculateAvg(numbers) // 在 main 函数中使用 avg fmt.Println(avg) // 输出:3 } // calculateAvg 函数计算给定 slice 的平均数并返回结果 func calculateAvg(numbers []int) float64 { // 在 calculateAvg 函数中声明一个变量 sum := 0 // 计算总和 for _, num := range numbers { sum += num } // 计算平均数 avg := float64(sum) / float64(len(numbers)) // 返回 avg return avg }
この例では、avg
変数が calculateAvg
関数内で宣言されています。したがって、関数の実行が完了すると、avg
変数とその値は破棄されます。ただし、main
関数で avg
の戻り値を使用したため、引き続き main
関数でこの値にアクセスできます。
以上がgolang関数の戻り値の変数スコープの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。