関数型推定により、Go 関数のパラメーターと戻り値の型を省略でき、コンパイラーは関数本体に基づいて型を推測します。 1. 使用法: func sum(x, y int) int { return x y } などの型宣言を省略します。 2. バックグラウンド: コンパイラーは、戻り値の型が関数内の式の型であり、パラメーターの型が関数呼び出しのパラメーターの型であると推測します。
Go 関数型推論の舞台裏の原則を探る
関数型推論は、Go の強力な機能です。使用できる言語 関数のパラメータの型と戻り値の型は省略します。コンパイラは、コンパイル時に関数本体からこれらの型を推論します。
関数の型推論の使用方法
関数で型推論を使用するには、次のようにパラメータの型と戻り値の型を省略するだけです:
func sum(x, y int) int { return x + y }
舞台裏で何が起こっているのか
コンパイラはこのような関数を検出すると、関数本体に基づいて型を推測します。まず、関数の最初の return ステートメントを見つけます:
return x + y
このステートメントの x y
式タイプは int
です。したがって、コンパイラは、sum
関数の戻り値の型が int
であると推測します。
次に、コンパイラは関数呼び出し内のパラメータの型をチェックします。この例では、sum
関数は次のように呼び出されます。
fmt.Println(sum(1, 2))
fmt.Println
この関数は、タイプ int
の値を型として期待します。パラメータ。したがって、コンパイラは、sum
関数のパラメーターの型も int
であると推測します。
実際的なケース
型推論を使用して 2 つの数値の平均を計算する簡単なプログラムを作成してみましょう:
package main import "fmt" func average(x, y int) float64 { return float64(x+y) / 2 } func main() { fmt.Println(average(10, 20)) }
このプログラムでは、 average
関数のパラメータの型と戻り値の型が指定されていません。コンパイラは、関数本体からこれらの型を int
および float64
として推論します。
#結論
関数型推論を使用すると、Go コードをすばやく簡単に作成できます。これにより、プログラマは型宣言を気にせずに関数ロジックに集中できるようになります。舞台裏で何が起こっているかを理解することで、この機能をより有効に活用できます。以上がGolang 関数の型推論の舞台裏の原理を探るの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。