Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 関数からの戻り値 | 関数
Go入門

book関数からの戻り値

メニューを表示するにはスワイプしてください

関数にデータを渡すことができるのは有用ですが、関数からデータを取得することも同様に重要です。ここで return キーワードが不可欠となります。

return キーワードは、関数が呼び出された箇所にデータを返すことを可能にします。以下は return 文を持つ関数の構文です:

func functionName(param_1 datatype, param_2 datatype, ...) return_datatype {
      // Code
     
      return data_to_be_returned
}

data_to_be_returned には式や値を指定します。returned_datatype は返される値の想定されるデータ型を表します。例を通してさらに明確になります。

次のプログラムは、2つの整数引数の合計と積を計算して返す関数を通じて、return 文の実装例を示しています:

index.go

index.go

copy
1234567891011121314
package main import "fmt" func myFunc(value_1 int, value_2 int) int { var sum int = value_1 + value_2 var prod int = value_1 * value_2 var result int = sum + prod return result } func main() { fmt.Println(myFunc(5, 7)) }

Println関数内でmyFunc(5, 7)が使用されており、上記のプログラムは47という出力を生成します。これはmyFunc()関数による計算結果です。これにより、return文が関数が呼び出された場所に特定のデータを返すことを示しています。また、返されたデータを変数に格納することも可能です。

index.go

index.go

copy
12
var returnedValue int = myFunc(5, 7) fmt.Println(returnedValue) // Outputs '47'

注意

関数はパラメータがなくても return 文を含めることが可能。

関数は return 文の後にコードを含めることはできず、通常、Go では複数の return 文は許可されていない:

index.go

index.go

copy
1234567891011
// Function exits after the first return statement it encounters func exampleOne() int { return 1 return 2 // Will be ignored } // There cannot be any code after a return statement func exampleTwo() int { return 1 fmt.Println() // Error here }

それでも、条件構造内で return 文を使用して値を選択的に返すことが可能:

index.go

index.go

copy
123456789101112131415
package main import "fmt" func myFunc() string { if(1 > 2) { return "1 is greater than 2" } else { return "2 is greater than 1" } } func main() { fmt.Println(myFunc()) }
question mark

次のプログラムの出力はどうなりますか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 4.  4

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 4.  4
some-alt