関数からの戻り値
メニューを表示するにはスワイプしてください
関数にデータを渡すことができるのは有用ですが、関数からデータを取得することも同様に重要です。ここで 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
1234567891011121314package 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
12var returnedValue int = myFunc(5, 7) fmt.Println(returnedValue) // Outputs '47'
注意
関数はパラメータがなくても
return文を含めることが可能。
関数は return 文の後にコードを含めることはできず、通常、Go では複数の return 文は許可されていない:
index.go
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
123456789101112131415package 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()) }
すべて明確でしたか?
フィードバックありがとうございます!
セクション 4. 章 4
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 4. 章 4