GOでは、関数はfunc
キーワードを使用して定義され、次に関数名とパラメーターリストを含む括弧のセットが使用されます。関数の本体は、Curly Braces {}
に囲まれています。関数定義の基本的な例は次のとおりです。
<code class="go">func add(a int, b int) int { return ab }</code>
この例では、 add
型int
の2つのパラメーターを取得し、 int
を返す関数です。
GOの関数を呼び出すには、関数名を使用して、括弧内の引数が続きます。例えば:
<code class="go">result := add(3, 4) fmt.Println(result) // Output: 7</code>
ここで、 add
関数は引数3
および4
で呼び出され、結果はresult
変数に保存されます。
Goでは、関数の命名は特定の規則に従い、読みやすさと一貫性を維持します。ここにいくつかのベストプラクティスがあります:
calculateAverage
。calcAvg
のような不可解なものではなく、 calculateAverage
という名前が付いている場合があります。calculate
calc
よりも推奨されます。Add
はエクスポートされますが、 add
そうではありません。GOでは、異なる方法を使用して関数に引数を渡すことができます。それぞれが独自の特性を備えています。
値パラメーター:GOで引数を渡すデフォルトの方法は価値によってです。値で引数を渡すと、値のコピーが作成され、関数に渡されます。関数内のパラメーターの変更は、関数外の元の値に影響しません。
<code class="go">func incrementByValue(x int) { x } a := 1 incrementByValue(a) fmt.Println(a) // Output: 1 (a remains unchanged)</code>
ポインターパラメーター:ポインターを値に渡すことができます。これにより、関数が元の値を変更できます。
<code class="go">func incrementByPointer(x *int) { (*x) } a := 1 incrementByPointer(&a) fmt.Println(a) // Output: 2 (a is modified)</code>
Variadicパラメーター:GOは、同じタイプの無期限の数の引数を受け入れることができるVariadic関数をサポートします。 Variadicパラメーターは、タイプの前に...
で示されます。
<code class="go">func sum(numbers ...int) int { total := 0 for _, num := range numbers { total = num } return total } fmt.Println(sum(1, 2, 3, 4)) // Output: 10</code>
go関数の戻り値は、関数が結果を発信者に伝達するようにする上で重要な役割を果たします。 Goの返品値に関する重要なポイントは次のとおりです。
単一の返品値:関数は単一の値を返すことができます。返品タイプは、パラメーターリストの後に指定されています。
<code class="go">func square(x int) int { return x * x }</code>
複数の返品値:go関数が複数の値を返すようにします。これは、結果とエラーの両方を返すのに役立ちます。
<code class="go">func divide(a, b float64) (float64, error) { if b == 0 { return 0, errors.New("division by zero") } return a / b, nil } result, err := divide(10, 2) if err != nil { fmt.Println(err) } else { fmt.Println(result) // Output: 5 }</code>
名前の返された値:GOは、コードをより読みやすくすることができる名前の返された値をサポートします。名前の返品値は、関数署名の一部として宣言されます。
<code class="go">func namedReturn(x int) (result int) { result = x * x return }</code>
ベアリターン:名前の返された値を使用する場合、NADED RETURN値を返すベアreturn
ステートメントを使用できます。
<code class="go">func namedReturnWithBareReturn(x int) (result int) { result = x * x return // equivalent to return result }</code>
エラー処理には戻り値が重要であり、関数が結果とエラーステータスの両方を返すことができます。これはGOプログラミングの一般的なパターンです。
以上がGoで機能をどのように定義および呼び出しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。