ホームページ > バックエンド開発 > Golang > Goで機能をどのように定義および呼び出しますか?

Goで機能をどのように定義および呼び出しますか?

Johnathan Smith
リリース: 2025-03-19 14:41:29
オリジナル
678 人が閲覧しました

Goで機能をどのように定義および呼び出しますか?

GOでは、関数はfuncキーワードを使用して定義され、次に関数名とパラメーターリストを含む括弧のセットが使用されます。関数の本体は、Curly Braces {}に囲まれています。関数定義の基本的な例は次のとおりです。

 <code class="go">func add(a int, b int) int { return ab }</code>
ログイン後にコピー

この例では、 addintの2つのパラメーターを取得し、 intを返す関数です。

GOの関数を呼び出すには、関数名を使用して、括弧内の引数が続きます。例えば:

 <code class="go">result := add(3, 4) fmt.Println(result) // Output: 7</code>
ログイン後にコピー

ここで、 add関数は引数3および4で呼び出され、結果はresult変数に保存されます。

Goの命名関数のベストプラクティスは何ですか?

Goでは、関数の命名は特定の規則に従い、読みやすさと一貫性を維持します。ここにいくつかのベストプラクティスがあります:

  1. 関数名に混合キャップを使用します:GOは、機能名に混合キャップ(キャメルケースとも呼ばれます)を使用します。関数名の最初の文字は小文字であり、その後の各単語は大文字で始まります。たとえば、 calculateAverage
  2. 記述する:関数名はその目的を明確に示す必要があります。数値のリストの平均を計算する関数は、 calcAvgのような不可解なものではなく、 calculateAverageという名前が付いている場合があります。
  3. 略語を避けてください:GOコミュニティ内で略語が広く認識され、使用されていない限り、完全な単語を使用する方が良いでしょう。たとえば、 calculate calcよりも推奨されます。
  4. エクスポートされた関数:GOでは、関数名が大文字で始まる場合、エクスポートされ、他のパッケージで使用できます。たとえば、 Addはエクスポートされますが、 addそうではありません。
  5. 一貫性:コードベースまたは標準ライブラリの残りの部分で使用される命名規則との一貫性を維持します。

引数をGOの関数にどのように渡すことができ、それらの違いは何ですか?

GOでは、異なる方法を使用して関数に引数を渡すことができます。それぞれが独自の特性を備えています。

  1. 値パラメーター:GOで引数を渡すデフォルトの方法は価値によってです。値で引数を渡すと、値のコピーが作成され、関数に渡されます。関数内のパラメーターの変更は、関数外の元の値に影響しません。

     <code class="go">func incrementByValue(x int) { x } a := 1 incrementByValue(a) fmt.Println(a) // Output: 1 (a remains unchanged)</code>
    ログイン後にコピー
  2. ポインターパラメーター:ポインターを値に渡すことができます。これにより、関数が元の値を変更できます。

     <code class="go">func incrementByPointer(x *int) { (*x) } a := 1 incrementByPointer(&a) fmt.Println(a) // Output: 2 (a is modified)</code>
    ログイン後にコピー
  3. 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関数の戻り値は、関数が結果を発信者に伝達するようにする上で重要な役割を果たします。 Goの返品値に関する重要なポイントは次のとおりです。

  1. 単一の返品値:関数は単一の値を返すことができます。返品タイプは、パラメーターリストの後に指定されています。

     <code class="go">func square(x int) int { return x * x }</code>
    ログイン後にコピー
  2. 複数の返品値: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>
    ログイン後にコピー
  3. 名前の返された値:GOは、コードをより読みやすくすることができる名前の返された値をサポートします。名前の返品値は、関数署名の一部として宣言されます。

     <code class="go">func namedReturn(x int) (result int) { result = x * x return }</code>
    ログイン後にコピー
  4. ベアリターン:名前の返された値を使用する場合、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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート