😈
Go言語で関数を使う
Functionsを使ってみる
公式チュートリアルを翻訳してます
関数はGoの中心的存在です。いくつかの例を使って関数について学びましょう。
以下は2つのintを受け取り、その和をintとして返す関数である。
つまり、最後の式の値を自動的に返すことはない。
同じ型の連続した複数のパラメータがある場合、型を宣言する最後のパラメータまでは、同じ型のパラメータの型名を省略することができる。
name(args)を使って、期待通りに関数を呼び出す。
Go関数には他にもいくつかの特徴がある。ひとつは複数の戻り値で、これについては次に説明する。
package main
import "fmt"
func plus(a int, b int) int {
return a + b
}
func plusPlus(a, b, c int) int {
return a + b + c
}
func main() {
res := plus(1, 2)
fmt.Println("1+2 =", res)
res = plusPlus(1, 2, 3)
fmt.Println("1+2+3 =", res)
}
実行結果
hashimotojunichi@hashimotojunichinoMacBook-Pro go-example % go run hello.go
1+2 = 3
1+2+3 = 6
🔧挨拶を返す関数を作ってみた
文法がシンプルなので、簡単な関数ならすぐに自分で作れました。挨拶の配列を作って出力するだけの関数を練習で作ってみました。
package main
import "fmt"
// 配列の中の挨拶をfor文で表示する関数
func hello() {
// 配列の中の挨拶をfor文で表示する
// greetings := []stringは、string型の配列を作るという意味
greetings := []string{"Good morning", "Good afternoon", "Good night"}
// forの後の_,は、index番号を使わないという意味。
// greeting := range greetingsは、配列の中身をgreetingに入れるという意味
for _, greeting := range greetings {
// 配列の中身を表示する
fmt.Println(greeting)
}
}
func main() {
// hello関数を呼び出す
hello()
}
実行結果
hashimotojunichi@hashimotojunichinoMacBook-Pro go-example % go run hello.go
Good morning
Good afternoon
Good night
まとめ
C#やJavaの関数を作って実行するのより、文法がシンプルで書きやすいので、単純な関数を作るだけなら、簡単だと思いました。独特な記号も使うことがあるので、不慣れなところはありますが、時間をかけて理解できるようになっていきたいです。
Discussion