![見出し画像](https://assets.st-note.com/production/uploads/images/65125527/rectangle_large_type_2_1c42a3a7a32c73ff1da63a30b0d9daea.png?width=800)
[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
以上
この記事が気に入ったらサポートをしてみませんか?