見出し画像

[Go言語 入門] 関数

golangで作ってみたいものがあり、golangを学び始めたので学習したことを書いていくノート。

---------------------------------------------------

サイトマップはこちら

---------------------------------------------------

第6回 関数


関数は以下のように宣言する。

「func 関数名(引数 型名,・・・) 型{ }」

「func 関数名(引数 型名,・・・) 型(返り値型){ return 返り値}」

// main.go

func add(x int, y int) int {
	return x + y
}

func main() {
	fmt.Println(add(10, 20))
}

// 実行結果
// 30

返り値を複数返すことも可能。

複数返す場合は以下のように返り値の型を複数指定する。

// main.go

func calc(x int, y int) (int, int) {
	return x + y, x - y
}

/*
    // 引数が同じ型であれば型名を省略可能
    func calc(x, y int) (int, int) {
	  return x + y, x - y
    }
*/

func main() {
	fmt.Println(calc(30, 40))
}

// 実行結果
// 70 -10

返り値で変数名を宣言することも可能。

あまり使う機会はなさそうであるが、返り値が複数ある時に重宝しそう。

// main.go

func multi(x int, y int) (res int) {
	res = x * y
	return
}

func plusminus(x int, y int) (plus, minus int) {
	plus = x + y
	minus = x - y
	return
}

func main() {
	fmt.Println(multi(50, 60))
    fmt.Println(plusminus(70, 80))
}

// 実行結果
// 3000
// 150 -10

また、以下のように関数内にて、関数を宣言することも可能。

// main2.go

func main() {
	add := func(x, y int) int {
		return x + y
	}
	fmt.Println(add(10, 20))

	func(x, y int) {
		fmt.Println(x - y)
	}(40, 30)
}

// 実行結果
// 30
// 10

以上


この記事が気に入ったらサポートをしてみませんか?