本文へスキップ
BecomeCoder

Goコース · 第4章 関数とエラー処理 · レッスン13

関数の定義 ― func

ブラウザで完結

導入

同じ処理を何度も書かずに済むよう、名前を付けてまとめるのが関数です。Go では func で定義し、引数の型戻り値の型を明記します。

説明

package main

import "fmt"

// 2つの整数を受け取り、その和(int)を返す関数
func add(a int, b int) int {
    return a + b
}

func main() {
    result := add(3, 5)
    fmt.Println(result) // 8
}
  • func add(a int, b int) inta, b が引数、最後の int戻り値の型です。
  • 型が同じ引数が続くときは func add(a, b int) とまとめて書けます。
  • return で値を返します。

戻り値が不要な関数(表示するだけなど)は、戻り値の型を省きます。

func greet(name string) {
    fmt.Println("こんにちは、" + name + "さん")
}

やってみよう

add(3, 5) の引数を色々変えて、返る値がどう変わるか考えてみましょう。func add(a, b int) int のように、同じ型の引数はまとめて書けることも確かめてください。

実際に動かしてみよう

下のエディタにGoを書いて「実行」を押すと、学習用シミュレータが fmt の出力を表示します(本物のGoコンパイラではなく、教材の範囲を再現した軽量エンジンです)。スライス・マップ・構造体・インターフェース・goroutine/channel なども動きます。本文の例を書き換えて動かしてみましょう(並行処理の実行順は決定的に再現しているため、本物のインターリーブとは異なる場合があります)。

Go — ブラウザ内で実行(学習用シミュレータ)

Goの教材サブセットを動かす学習用シミュレータを読み込みます(本物のGoコンパイラではなく、動きを再現した軽量な自作エンジンです)。
スクロールして表示された時点でも自動で読み込まれます。