Go言語とファンクション
こんにちは!今日はGo言語の「ファンクション」について学びましょう。
ファンクションとは、特定の処理をまとめて名前を付けたものです。同じ処理を何度も書く必要がなくなり、コードの再利用性と可読性が高まります。
ファンクションの定義
まずは、Go言語でのファンクションの定義方法から見ていきましょう。
下記は、二つの整数を引数として受け取り、それらを足した結果を返すファンクション「add」を定義した例です。
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 |
package main import "fmt" func add(x int, y int) int { return x + y } func main() { fmt.Println(add(42, 13)) } |
このコードを実行すると、「add」関数に42と13を渡し、その結果を表示します。
出力結果
55
複数の戻り値
Go言語の特徴的な機能として、ファンクションが複数の戻り値を持てることがあります。
これは、例えば関数の実行結果とエラー情報を一緒に返すといった場面で役立ちます。
以下に、二つの整数を引数に取り、それらの和と差を返すファンクション「addAndSubtract」を定義した例を示します。
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 12 13 |
package main import "fmt" func addAndSubtract(x int, y int) (int, int) { return x + y, x - y } func main() { sum, diff := addAndSubtract(42, 13) fmt.Println("The sum is:", sum) fmt.Println("The difference is:", diff) } |
このコードを実行すると、「addAndSubtract」関数に42と13を渡し、その結果を表示します。
出力結果
The sum is: 55 The difference is: 29
名前付き戻り値
Go言語では、戻り値に名前を付けることもできます。これは、戻り値の意味をコードから明確にするために役立ちます。
以下に、二つの整数を引数に取り、それらの和(sum)と差(diff)を名前付き戻り値として返すファンクションを定義した例を示します。
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
package main import "fmt" func addAndSubtract(x int, y int) (sum int, diff int) { sum = x + y diff = x - y return } func main() { sum, diff := addAndSubtract(42, 13) fmt.Println("The sum is:", sum) fmt.Println("The difference is:", diff) } |
このコードを実行すると、やはり「addAndSubtract」関数に42と13を渡し、その結果を表示します。
出力結果
The sum is: 55 The difference is: 29
まとめ
今日はGo言語のファンクションについて学びました。
ファンクションは、特定の処理をまとめて名前を付けたもので、再利用性と可読性を高めるために重要な要素です。
Go言語では、ファンクションの定義、複数の戻り値、名前付き戻り値など、他の言語にはない便利な機能が提供されています。
これらを使いこなすことで、より効率的で理解しやすいコードを書くことができます。
最後まで読んで頂き、ありがとうございました。少しでもお役にたてたなら幸いです!