go言語入門学習サイト

go言語初心者のために基礎から解説します。

戻り値を二つ使った関数の計算

go言語は複数の戻り値を使った計算が関数でできます。
それについて解説します。

【結論】


func calculate(a int, b int) (int, int) {
sum := a + b
diff := a - b
return A, B
}

Goの関数は複数の値を返すことができます。これは、一回の関数呼び出しで複数の結果を出せます。


【理由】

戻り値を二つ使うと複数の計算結果を出せます。

func cal(x, y int) (int, int) {
return (x / y), (x * y)
}

func main() {
result := cal(数値、数値)
fmt.Println(result)
}

resultという変数内に:=で()内に引数となる数値を入れて、xとyで二つの引数を受け取り戻り値を出します。

【具体例】


package main

import "fmt"

// 数値型で引数はint
// 引数の右に戻り値データ
func cal(x, y int) int {
//6/3
return (x / y)
}

func main() {
// 関数の結果を変数に代入
result := cal(6, 3)
fmt.Println(result)
}


package main

import "fmt"

// 数値型で引数はint
// 戻り値2つ
func cal(x, y int) (int, int) {
return (x / y), (x * y)
// 6/3
// 6x3
}

func main() {
// 代入する変数2つ
result01, result02 := cal(6, 3)
fmt.Println(result01, result02)
}

package main

import "fmt"

// 数値型で引数はint
// 戻り値2つ
func cal(x, y int) (a int, b int) {
a = x / y
b = x * y

return
}

func main() {
// 代入する変数2つ
result01, result02 := cal(6, 3)
fmt.Println(result01, result02)
}


【結論】

①はcal(6, 3)をcal(x, y int)に引数として入れてx / y割るだから2となり戻り値として出します。

②は cal(6, 3)でresult01, result02と変数二つ代入して func cal(x, y int) (int, int) { return (x / y), (x * y)とする事で二つの戻り値ができます。

それをreturnで計算して割り算は2、かけ算は18となります。

③は(x, y int) (a int, b int)とする事で
a = x / y
b = x * y
とかけます。
結果は②と同じです。

戻り値が二つあるからgo言語はいろんな計算を一つのコードででき便利です。






TechAcademy [テックアカデミー]


【アイデミー】AIを学んで一発逆転のキャリアチェンジ!



取材やお仕事紹介などはこちらからお気軽にご連絡下さい。
ysa7825@gmail.com