😈

Go言語で関数を使う

2023/07/13に公開

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の関数を作って実行するのより、文法がシンプルで書きやすいので、単純な関数を作るだけなら、簡単だと思いました。独特な記号も使うことがあるので、不慣れなところはありますが、時間をかけて理解できるようになっていきたいです。

Jboy王国メディア

Discussion