カテゴリ: Go言語 更新日: 2026/01/20

Go言語の関数の基本!定義の書き方と呼び出し方をやさしく解説

Go言語の関数の基本!定義の書き方と呼び出し方をやさしく解説
Go言語の関数の基本!定義の書き方と呼び出し方をやさしく解説

先生と生徒の会話形式で理解しよう

生徒

「Go言語では、どうやって関数を使うんですか?」

先生

「Go言語では、関数は『処理をまとめておく箱』のようなものです。使いたいときにその箱を呼び出すことで、同じ処理を何度も繰り返し使えるんですよ。」

生徒

「関数の作り方や呼び出し方って難しいですか?」

先生

「いいえ、とてもシンプルです。では、Go言語の関数の基本をわかりやすく解説していきましょう!」

1. Go言語の関数とは?

1. Go言語の関数とは?
1. Go言語の関数とは?

Go言語(Golang)における関数(function)は、ある目的の処理を名前を付けてひとまとめにした「再利用できる小さな部品」です。毎回同じ手順を書くのではなく、部品化しておけば必要な場面で呼び出すだけで同じ結果を得られます。たとえば「あいさつを表示する」「数値を画面に出す」といった決まった動きをひとつの関数にしておくイメージです。

関数を使うと、見通しのよいコードになります。どこで何をしているかが名前で分かり、後から読み返したときに理解しやすく、間違いの修正もしやすくなります。はじめのうちは「1つの関数に1つの役割」という意識で、小さく分けるのがおすすめです。

まずは「処理を箱にしまって呼び出す」感覚をつかむために、最小構成の関数を見てみましょう。以下は、画面に簡単なメッセージを表示するだけの小さな例です。


package main

import "fmt"

// メッセージを表示するだけの、最小の関数
func ready() {
    fmt.Println("準備OK")
}

func main() {
    // 必要なときに、名前(ready)で呼び出す
    ready()
}

この例では、readyという名前の箱(関数)に「メッセージを表示する処理」を入れています。main関数の中でready()と書くだけで、その処理が実行されます。まずは「処理に名前を付けてまとめる→必要な場面で呼ぶ」という流れを押さえておきましょう。これがGo言語の関数の基本です。

2. 関数の定義の基本構文

2. 関数の定義の基本構文
2. 関数の定義の基本構文

Go言語で関数を定義するときは、まず「ここから関数が始まりますよ」という合図としてfuncを書き、続いて関数名、丸括弧()、そして処理を囲む中括弧{ }を並べます。形を覚えることが第一歩です。


func 関数名() {
    // ここに行いたい処理を書く
    // (まだ何もしないなら空でもOK)
}

上の型は「関数のひな形」です。ポイントは次の3つです。①funcは関数宣言のキーワード、②関数名は「何をするか」が伝わる短い名前(例:startprintReady)、③{ }の内側が処理本体です。前の章で使ったready()も、この型に沿って作られています。

命名の基本ルールも押さえておきましょう。関数名は英字で始め、英数字と_が使えます。短すぎるより、役割が分かる名前にすると読みやすくなります(例:runよりrunCheck)。なお、先頭を大文字にすると外部から使える「公開関数」になり、小文字だとそのパッケージ内だけで使う関数になります。

この章では「ひな形」と「名前の付け方」を覚えるのが目的です。呼び出し方や、カッコ内に値を渡す方法は次の章で具体例と一緒に確認していきます。

3. 最もシンプルな関数の例

3. 最もシンプルな関数の例
3. 最もシンプルな関数の例

まずは簡単なあいさつを表示する関数を作ってみましょう。


package main

import "fmt"

func greet() {
    fmt.Println("こんにちは!Go言語へようこそ。")
}

func main() {
    greet()
}

実行結果:


こんにちは!Go言語へようこそ。

このように、main関数の中からgreet関数を呼び出すことで、あいさつが表示されます。

Go言語を基礎からスッキリ学びたい人や、 文法だけでなく「実用的な使い方」まで押さえたい人には、 定番の入門書がこちらです。

基礎からわかるGo言語をAmazonで見る

※ Amazon広告リンク

4. 引数(ひきすう)付きの関数

4. 引数(ひきすう)付きの関数
4. 引数(ひきすう)付きの関数

関数に引数(ひきすう)を渡すことで、呼び出しごとに異なるデータを扱うことができます。


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

func main() {
    sayHello("タロウ")
    sayHello("ハナコ")
}

実行結果:


こんにちは、タロウさん!
こんにちは、ハナコさん!

name stringは、「nameという名前の文字列(string)を受け取ります」という意味です。

5. 戻り値のある関数

5. 戻り値のある関数
5. 戻り値のある関数

関数は、値を返す(戻す)こともできます。これを戻り値といいます。


func add(a int, b int) int {
    return a + b
}

func main() {
    result := add(3, 5)
    fmt.Println("合計は", result)
}

実行結果:


合計は 8

returnは、「この値を返します」という意味です。intは整数型を表しています。

6. 複数の戻り値を返す関数

6. 複数の戻り値を返す関数
6. 複数の戻り値を返す関数

Go言語では、複数の戻り値を返すこともできます。たとえば、割り算の結果と余りを同時に返したい場合です。


func divide(x int, y int) (int, int) {
    return x / y, x % y
}

func main() {
    result, remainder := divide(10, 3)
    fmt.Println("商は", result)
    fmt.Println("余りは", remainder)
}

実行結果:


商は 3
余りは 1

このようにカンマ区切りで複数の値を返し、それぞれを変数に代入できます。

7. Go言語の関数を使うメリット

7. Go言語の関数を使うメリット
7. Go言語の関数を使うメリット
  • コードの再利用:同じ処理を何度でも呼び出せる
  • 読みやすさアップ:処理の内容が分かりやすくなる
  • 修正しやすい:関数の中身だけを直せば、全体が修正される

関数は、プログラムを効率よく書くために欠かせない基本要素です。

まとめ

まとめ
まとめ

Go言語における関数の基本を学ぶことで、より効率的で読みやすいプログラムが書けるようになります。関数は「処理のかたまり」であり、再利用性や可読性、保守性を大きく向上させる力を持っています。funcキーワードによる定義、引数や戻り値の扱い、複数の戻り値の使い方など、実践的な例を通じて基本をしっかり身につけました。

特に、Go言語はシンプルで直感的な構文が魅力です。sayHelloのように引数を受け取って柔軟なメッセージを表示したり、addのように戻り値で結果を受け取って計算処理をしたり、divideで複数の戻り値を活用することで、現実の問題にも応用できる関数設計が可能です。

関数の基本をマスターすれば、今後のGo言語での開発の基盤となり、WebアプリケーションやAPI開発、CLIツール作成など、さまざまな場面で役立ちます。

関数の定義と呼び出しを復習しよう


package main

import "fmt"

func sayGoodbye(name string) {
    fmt.Println("さようなら、" + name + "さん!")
}

func main() {
    sayGoodbye("ケンジ")
}

このコードでは、sayGoodbyeという関数を定義し、"ケンジ"という名前を引数として渡しています。結果として、「さようなら、ケンジさん!」と表示されます。このように、引数を使った関数は非常に柔軟で、さまざまな用途に活用できます。

複数の戻り値の活用をおさらい


func calcStats(scores []int) (int, float64) {
    sum := 0
    for _, score := range scores {
        sum += score
    }
    avg := float64(sum) / float64(len(scores))
    return sum, avg
}

func main() {
    total, average := calcStats([]int{80, 90, 75})
    fmt.Println("合計点:", total)
    fmt.Println("平均点:", average)
}

ここでは、スライスで渡された点数の合計と平均を同時に返す関数calcStatsを定義しました。Go言語では、こうした複数の戻り値が標準的にサポートされているため、処理の結果を分かりやすく返すことができます。

先生と生徒の振り返り会話

生徒

「先生、Go言語の関数って思っていたよりずっとシンプルなんですね!」

先生

「そうですね。funcで始めて、引数や戻り値をつけるだけで関数が作れるので、初心者にも扱いやすいですよ。」

生徒

「戻り値が2つある関数とか、現実の処理にもすごく応用できそうですね!」

先生

「その通りです。たとえばエラーと結果を一緒に返すなど、実務でも多用される書き方ですね。関数をしっかり使いこなせれば、Goでの開発がグッと楽になりますよ。」

生徒

「なるほど!もっと関数を使って、いろんなプログラムを書いてみたくなりました!」

先生

「それが一番大事です。どんどん試して、Go言語の楽しさを体験していきましょう!」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Go言語で関数とは何ですか?定義と意味をわかりやすく教えてください。

Go言語における関数とは、ある処理をひとまとまりにしたもので、必要なときに何度でも呼び出して使える仕組みです。処理の再利用やコードの整理に役立ちます。
カテゴリの一覧へ
新着記事
New1
Kotlin
Kotlinの例外処理とキャンセルの連携を完全ガイド!初心者でもわかるCoroutineExceptionHandlerの使い方
New2
Go言語
Go言語のクロージャとは?関数内関数の活用例と仕組み
New3
Swift
Swiftでエラー原因を可視化!ログとトレースのベストプラクティスを初心者向けに解説
New4
Go言語
Go言語の関数パラメータ!値渡しと参照渡しの違いを理解しよう
人気記事
No.1
Java&Spring記事人気No1
Kotlin
KotlinのChannelでデータをやり取りする方法を完全ガイド!初心者にもわかる非同期通信の基本
No.2
Java&Spring記事人気No2
Go言語
Go言語でのDB接続情報を環境変数で管理する方法|初心者でも安全に設定
No.3
Java&Spring記事人気No3
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.4
Java&Spring記事人気No4
Kotlin
Kotlinのビルド設定エラーと解決法まとめ!初心者向けGradleトラブル対処ガイド
No.5
Java&Spring記事人気No5
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.6
Java&Spring記事人気No6
Kotlin
Kotlinでテキスト表示・編集!初心者でもわかるTextViewとEditTextの使い方
No.7
Java&Spring記事人気No7
Go言語
Go言語のgo.modファイル完全ガイド!初心者でもわかる仕組みと書き方
No.8
Java&Spring記事人気No8
Kotlin
Kotlin DSLとGroovy DSLの違いをやさしく解説!初心者でもわかるGradleスクリプトの使い分け

💻 作業効率アップに

ノートPCを縦置きしてデスクを広く。
省スペースで片づく定番スタンド

UGREEN 縦型スタンドをAmazonで見る

※ Amazon広告リンク