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

Go言語のコーディング規約(公式スタイルガイド)とは?読みやすいコードを書く基本ルール

Go言語のコーディング規約(公式スタイルガイド)とは?読みやすいコードを書く基本ルール
Go言語のコーディング規約(公式スタイルガイド)とは?読みやすいコードを書く基本ルール

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

生徒

「Go言語って、コードを書くときに決まりごとってあるんですか?」

先生

「はい、Go言語には公式のコーディング規約(スタイルガイド)があって、誰が見ても読みやすいように書くためのルールが決まっています。」

生徒

「具体的にはどんなルールがあるんですか?難しいですか?」

先生

「いいえ、とてもシンプルで初心者にもわかりやすいですよ。それでは、Go言語のスタイルガイドについて基本から説明しましょう!」

1. Go言語のスタイルガイドとは?

1. Go言語のスタイルガイドとは?
1. Go言語のスタイルガイドとは?

Go言語のスタイルガイドとは、コードを書くときの決まりごとをまとめたガイドラインです。これは、Googleが開発したGo言語のチームが公式に定めたルールです。

このルールを守ることで、誰が書いたコードでも読みやすく、理解しやすくなります。たとえば、本やレシピのように「見た目が整っていて、どこに何が書いてあるか分かりやすい」状態を目指します。

2. コードの整形は「gofmt」で自動化

2. コードの整形は「gofmt」で自動化
2. コードの整形は「gofmt」で自動化

Go言語にはgofmt(ゴーフォーマット)という自動でコードを整えるツールがあります。これは、空白の入れ方や改行などを自動的に揃えてくれる便利な道具です。

たとえば、次のような読みづらいコードがあるとします:


func main(){fmt.Println("Hello")}

gofmtを使うと、以下のように自動で整えてくれます。


func main() {
    fmt.Println("Hello")
}

パソコンが苦手な人でも安心です。gofmtを使えば、書き方を覚えきれなくても綺麗に整えてくれるからです。

3. インデントとスペースのルール

3. インデントとスペースのルール
3. インデントとスペースのルール

Go言語では、コードのインデント(字下げ)は半角スペースを4つではなく、タブ(Tabキー)で行います。インデントは、コードの中で何がどこに属しているかをわかりやすくするための目印です。

例えば、以下のように書くとコードの構造が分かりやすくなります:


if x > 0 {
    fmt.Println("xは正の数です")
}

このように、カッコの中に書くコードは必ずインデントするのがルールです。

4. インポートの順番とまとめ方

4. インポートの順番とまとめ方
4. インポートの順番とまとめ方

Go言語では、外部の機能を使うときにimportを使います。そのとき、次の順番で書くのが基本ルールです:

  • 標準ライブラリ
  • 外部パッケージ
  • 自作のパッケージ

それぞれのグループの間には、1行空白を入れましょう。


import (
    "fmt"
    "os"

    "github.com/example/library"

    "myapp/mypackage"
)

このようにすることで、どの機能がどこから来ているのか一目で分かるようになります。

5. 変数名や関数名の付け方

5. 変数名や関数名の付け方
5. 変数名や関数名の付け方

Go言語では、変数名や関数名は短くてわかりやすくするのが理想です。

たとえば、「りんごの数」という変数は appleCount のように書きます。意味がすぐに伝わる名前にしましょう。

また、単語の最初の文字を大文字にするかどうかで、その名前の使える範囲が決まります:

  • PrintMessage → 外からも使える
  • printMessage → 同じパッケージ内でだけ使える

6. コメントの書き方

6. コメントの書き方
6. コメントの書き方

コメントは、コードの意味を説明するためのメモです。Go言語では、読みやすい文章でコメントを書くのが基本です。

関数の前には、その関数が何をするかを説明するコメントを書きましょう。


// sayHelloは、あいさつのメッセージを表示します。
func sayHello() {
    fmt.Println("こんにちは!")
}

コメントは//から始めて、その後に説明を書くのが基本です。

7. 行の長さはできるだけ短く

7. 行の長さはできるだけ短く
7. 行の長さはできるだけ短く

一行がとても長くなると、画面で見にくくなったり、スマホで見たときに折り返されて読みにくくなります。1行はできるだけ短く横に80〜100文字以内が推奨されます。

8. 使わない変数やインポートは削除する

8. 使わない変数やインポートは削除する
8. 使わない変数やインポートは削除する

Go言語では、使っていない変数やimportはエラーになります。そのため、使っていないものはすぐに削除しましょう。


import "fmt"

func main() {
    var message string
}

このようにmessageを使っていないとエラーになるので、fmt.Println(message)のように使うか、変数ごと削除しましょう。

9. 自動整形ツールを活用しよう

9. 自動整形ツールを活用しよう
9. 自動整形ツールを活用しよう

Go言語は、他の言語と比べてもgofmtという便利な整形ツールが標準で用意されている点が特徴です。コマンドラインで以下のように使います:


gofmt -w ファイル名.go

-wは、元のファイルを自動で書き換えて保存してくれるオプションです。

まとめ

まとめ
まとめ

Go言語のコーディング規約は、初心者から上級者まで全てのエンジニアにとって欠かせないルールです。 公式スタイルガイドに沿って書かれたコードは、可読性が高く、保守性に優れています。 特にgofmtによる自動整形、インデントのタブ利用、インポート順序の整理、変数名や関数名の命名規則、 コメントの記述方法などは、実務で非常に役立つ要素です。

この記事で学んだことを振り返ると、Go言語の規約は単なるルールではなく、 チーム開発における効率化や品質向上に直結する重要な要素であることがわかります。 また、コードを短くシンプルに保つことや、不要な変数やインポートを排除することは、 プログラム全体のエラーを防ぎ、動作を安定させる効果があります。

以下に、今回学んだ内容を踏まえたサンプルプログラムを示します。

サンプルプログラム:シンプルな挨拶アプリ


package main

import (
    "fmt"
)

// greetは渡された名前に挨拶を返します。
func greet(name string) {
    fmt.Printf("こんにちは、%sさん!\n", name)
}

func main() {
    greet("太郎")
    greet("花子")
}

このコードでは、Go言語のスタイルガイドに沿ったインデント命名規則コメントの付け方を実践しています。 実際の開発現場でも、このようにシンプルで分かりやすいコードを書くことが推奨されます。

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

生徒

「先生、Go言語のコーディング規約を守ると、どういうメリットがあるんですか?」

先生

「一番大きなメリットは、コードが読みやすくなることです。 自分だけでなく他の人も理解しやすくなり、チーム開発がスムーズになります。 また、ツールが整形してくれるので無駄な議論も減ります。」

生徒

「確かに、決まった書き方があればみんな同じ見た目になりますね。 でも、覚えるのは大変じゃないですか?」

先生

「心配いりませんよ。Go言語はgofmtが自動で整えてくれるので、 細かいルールを完璧に覚えなくても大丈夫です。 ただ、基本的なインデントや変数名の付け方は身につけておくと役立ちます。」

生徒

「なるほど!つまり、スタイルガイドはルールというより、 チームで開発するための共通の言葉みたいなものなんですね。」

先生

「その通りです。規約を守れば、誰が書いたコードでも同じように読めるので、 バグを減らして開発スピードを上げることができます。 これがGo言語の強みの一つなんですよ。」

生徒

「よし!今日からぼくもgofmtを使って、規約通りに書いてみます!」

先生

「素晴らしい心がけですね。 習慣にしていけば自然と身につきますし、 プロジェクトに参加するときもすぐに適応できますよ。」

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

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

※ Amazon広告リンク

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

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

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

Go言語のコーディング規約や公式スタイルガイドは初心者にも必要ですか?

はい、Go言語の公式スタイルガイドは初心者にとって特に重要です。最初から正しい書き方を覚えることで、読みやすくて理解しやすいコードを書く習慣が身につきます。後から修正するよりも、最初から正しい規約に沿ったコーディングをする方が効率的です。

Go言語のコード整形ツール「gofmt」は具体的にどう使うのですか?

Go言語には標準でgofmtが用意されており、コマンドラインで簡単に使えます。たとえば「gofmt -w ファイル名.go」と実行すると、インデントや改行を自動で揃えてくれます。プログラミング初心者でも使いやすく、書き方の違いで悩むことがなくなります。

Go言語のインデントはスペースではなくタブを使うと聞きましたが、なぜですか?

Go言語では公式にタブでのインデントを推奨しています。タブを使うことで、誰が書いたコードでも見た目が統一され、読みやすくなります。スペースを使うと環境によってずれてしまうことがあるため、タブを使うのが規約に沿った正しい方法です。
関連セミナーのご案内

【超入門】ゼロから始めるGo言語プログラミング:最速で「動くアプリ」を作るマンツーマン指導

「プログラミングの仕組み」が根本からわかる。Go言語でバックエンド開発の第一歩を。

本講座を受講することで、単なる文法の暗記ではなく、「プログラムがコンピュータの中でどう動いているか」という本質的な理解につながります。シンプルながら強力なGo言語(Golang)を通じて、現代のバックエンドエンジニアに求められる基礎体力を最短距離で身につけます。

具体的な開発内容と環境

【つくるもの】
ターミナル(黒い画面)上で動作する「対話型計算プログラム」や、データを整理して表示する「ミニ・ツール」をゼロから作成します。自分の書いたコードが形になる感動を体験してください。

【開発環境】
プロの現場でシェアNo.1のVisual Studio Code (VS Code)を使用します。インストールから日本語化、Go言語用の拡張機能設定まで、現場基準の環境を一緒に構築します。

この60分で得られる3つの理解

1. 環境構築の完全な理解

「なぜ動くのか」という設定の仕組みを理解し、今後の独学で詰まらない土台を作ります。

2. Go言語の基本構造(変数・型)

データの種類やメモリの概念など、他言語にも通じるプログラミングの本質を学びます。

3. 読みやすいコードの書き方

ただ動くだけでなく、誰が見ても分かりやすい「綺麗なコード」を書くための考え方を伝授します。

※本講座は、将来的にバックエンドエンジニアクラウドインフラに興味がある未経験者のためのエントリー講座です。マンツーマン形式により、あなたの理解度に合わせて進行します。

セミナー画像

初めてのGo言語を一緒に学びましょう!

関連記事:
カテゴリの一覧へ
新着記事
New1
Go言語
Go言語のwhile的なforループの使い方!条件式ループの基本を解説
New2
Go言語
Go言語プログラムの実行方法まとめ!VSCode・ターミナルでの実行手順を解説
New3
Swift
Swift意味とは?プログラミング言語・金融・鳥の違いを徹底解説
New4
Swift
Swift 戻り値の扱い方と複数戻り値の返し方|初心者でも分かる関数の基本
人気記事
No.1
Java&Spring記事人気No1
Go言語
Go言語でリダイレクト処理を行う方法(http.Redirect)を初心者向けに解説
No.2
Java&Spring記事人気No2
Swift
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.3
Java&Spring記事人気No3
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.4
Java&Spring記事人気No4
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.5
Java&Spring記事人気No5
Go言語
Go言語のgo.modファイル完全ガイド!初心者でもわかる仕組みと書き方
No.6
Java&Spring記事人気No6
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.7
Java&Spring記事人気No7
Go言語
Go言語で条件式を1行で書くコツ!三項演算子の代替と短縮記法
No.8
Java&Spring記事人気No8
Kotlin
Kotlinのログ出力方法を完全ガイド!LogcatとTimberでトラブルシューティング