ホームページ  >  記事  >  バックエンド開発  >  golang関数の戻り値は何ですか?

golang関数の戻り値は何ですか?

WBOY
WBOYオリジナル
2024-04-22 16:09:011176ブラウズ

Go 言語関数の戻り値は型指定されています: 関数の戻り値は指定された型を持つ必要があります。関数はカンマで区切って複数の値を返すことができ、読みやすさを向上させるために名前付きの戻り値を使用できます。戻り値の型を指定しない関数はnull値(nil)を返します。

golang関数の戻り値は何ですか?

Go 言語関数の戻り値: 入力と使用

Go 言語では、関数は 1 つ以上の値を返すことができます。 、さまざまなタイプにすることができます。戻り値の型を指定すると、コードの堅牢性と読みやすさを確保できます。

型付き戻り値

Go 言語関数の戻り値には明示的な型が必要です。これは、関数名の後に型を指定することによって行われます。例:

func sum(a, b int) int {
    return a + b
}

この例では、sum 関数は int 型の値を返します。

複数の戻り値

関数は、カンマで区切って複数の値を返すことができます。例:

func divMod(a, b int) (int, int) {
    return a / b, a % b
}

divMod関数は、最初の要素が整数の除算の商で、2 番目の要素が余りであるタプルを返します。

名前付き戻り値

複数の値を返す関数の場合、名前付き戻り値を使用することで読みやすさを向上させることができます。例:

func minMax(a, b int) (min, max int) {
    if a < b {
        min, max = a, b
    } else {
        min, max = b, a
    }
    return
}

実用的なケース: フィボナッチ数列の計算

以下は、戻り値を使用する Go 言語プログラムで、フィボナッチ数列の最初の n 個の数値を計算します:

package main

import "fmt"

func fib(n int) (int, int) {
    a, b := 0, 1

    for i := 0; i < n; i++ {
        tmp := a
        a, b = b, a+b
    }

    return a, b
}

func main() {
    for i := 0; i < 10; i++ {
        fmt.Printf("%d\n", fib(i))
    }
}

出力:

0
1
1
2
3
5
8
13
21
34

注:

  • 戻り値の型が指定されていない場合、関数は null 値 (nil) を返します。
  • 関数の戻り値の型が void の場合でも、これを明示的に指定する必要があります (例: func foo() void)。

以上がgolang関数の戻り値は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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