カテゴリ: Go言語 更新日: 2026/08/10

Go言語で定数を定義する方法!変更されない値の書き方と命名ルール

Go言語で定数を定義する方法!変更されない値の書き方と命名ルール
Go言語で定数を定義する方法!変更されない値の書き方と命名ルール

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

生徒

「Go言語で、途中で変わらない値を使いたいときはどうすればいいですか?」

先生

「そのときはconstというキーワードを使って、定数を定義するんです。」

生徒

「定数って、変数とは違うんですか?」

先生

「はい。定数は、最初に決めたら途中で変えられない値のことです。では、Go言語で定数をどう使うか、一緒に見ていきましょう。」

1. Go言語で定数を定義する基本構文

1. Go言語で定数を定義する基本構文
1. Go言語で定数を定義する基本構文

Go言語で「途中で変わらない値」を扱いたいときは、constキーワードで定数(constant)を定義します。定数は一度決めた値をあとから変更できないため、プログラムの中で基準になる数値や決まりごとを安全に管理できます。

たとえば、円周率(3.14)や、サービスの基本料金、上限回数など「毎回同じ意味で使う値」を定数にしておくと、数字を直接書くよりも読みやすくなります。

基本の書き方は次のとおりです。


const pi = 3.14

このように書くと、pi3.14で固定され、途中で別の値に置き換えることはできません。

プログラミング未経験でもイメージしやすい例として、「入場料」を定数にしてみましょう。料金は基本的に勝手に変わってほしくないので、定数に向いています。


package main

import "fmt"

func main() {
    const entryFee = 500
    fmt.Println("入場料は", entryFee, "円です")
}

entryFeeのように名前を付けておくと、「500が何の数字なのか」が一目でわかります。Go言語で定数を定義する基本として、まずは「変えたくない値はconst」と覚えておくと安心です。

2. constとvarの違いとは?

2. constとvarの違いとは?
2. constとvarの違いとは?

constは定数、varは変数です。どちらも「値に名前を付ける」点は同じですが、決定的な違いはあとから値を変えられるかどうかにあります。

たとえば年齢やカウント数のように、処理の途中で増えたり更新されたりするものは変数(var)が向いています。一方で、消費税率や上限値など「プログラム内で固定したい値」は定数(const)にしておくと、意図しない書き換えを防げます。


var age = 20
age = 21 // OK:変数なので変更できる

const taxRate = 0.1
taxRate = 0.08 // エラー:定数は変更できない

もう少しイメージしやすいように、「値段は固定、人数は変わる」という例で見てみましょう。チケット代は固定なのでconst、購入人数は変わるのでvarを使います。


package main

import "fmt"

func main() {
    const ticketPrice = 500
    var people = 2

    fmt.Println("チケット代は", ticketPrice, "円です")
    fmt.Println("人数は", people, "人です")

    people = 3 // 人数は変わるので更新できる
    fmt.Println("人数が増えて", people, "人になりました")
}

このように、constは「固定したい値」、varは「変化する値」という使い分けを意識すると、Go言語のコードが読みやすくなり、ミスも減らせます。

プログラムの中で「この値は絶対に変わらない」と言い切れるものは、定数にしておくことで、うっかり間違えて変更することを防げます。

3. 定数に使えるデータの種類

3. 定数に使えるデータの種類
3. 定数に使えるデータの種類

Go言語の定数(const)に使えるデータの種類は限られていて、基本はシンプルで変更の必要がない値だけが対象になります。イメージとしては「数字」「文字」「真偽(はい/いいえ)」のような、動かない情報です。

主に次のような型が定数として扱えます:

  • 整数(int:0、1、100などの数)
  • 浮動小数点数(float64など:3.14、0.1などの小数)
  • 文字列(string:"ようこそ" のような文字)
  • ブール値(bool:true / false)

const maxScore = 100
const message = "ようこそ"
const isActive = true

プログラミング未経験でも想像しやすいように、「お店のルール」を定数でまとめた例を見てみましょう。値段や合言葉、営業中かどうかなどは、基本的に途中で勝手に変わってほしくないので定数向きです。


package main

import "fmt"

func main() {
    const price = 1200
    const keyword = "WELCOME"
    const open = true

    fmt.Println("料金は", price, "円です")
    fmt.Println("合言葉は", keyword, "です")
    fmt.Println("営業中ですか?", open)
}

この例では、数値・文字列・true/falseの3種類を定数として使っています。どれも「決めたら変えない前提」の情報なので、定数として持たせるとわかりやすいです。

一方で、配列やスライス、マップのように中身を追加したり削除したりできるデータ構造は、性質的に「変更される」ことが前提なので、Go言語の定数にはできません。

4. 定数のグループ化(複数定義)

4. 定数のグループ化(複数定義)
4. 定数のグループ化(複数定義)

Go言語では、定数を1つずつ書くこともできますが、同じテーマの定数が複数あるときは、const ( ... )の形でまとめて定義できます。これを「定数のグループ化」と呼び、関連する値をひとまとまりで管理しやすくするのが目的です。

たとえば色の名前や、メニューの区分、画面表示の種類など、「セットで使う値」は同じ場所に並べておくと、後から見返したときに探しやすくなります。定数が増えても整理された状態を保てるので、初心者ほど最初から意識しておくと安心です。


const (
    Red   = "赤"
    Blue  = "青"
    Green = "緑"
)

もう少し身近な例として、「ドリンクのサイズ」をまとめてみましょう。サイズは種類が増えても、同じグループとして扱うことが多いので、まとめ書きが便利です。


package main

import "fmt"

const (
    SizeSmall  = "S"
    SizeMedium = "M"
    SizeLarge  = "L"
)

func main() {
    fmt.Println("選べるサイズは", SizeSmall, SizeMedium, SizeLarge, "です")
}

このように定数をグループ化しておくと、「サイズに関する定数はここ」と場所が決まるため、追加や修正もしやすくなります。結果として、Go言語のコード全体が読みやすく整理されます。

このようにまとめて定義しておくと、関連する定数を一か所で管理できて便利です。

5. 定数の命名ルールと書き方のコツ

5. 定数の命名ルールと書き方のコツ
5. 定数の命名ルールと書き方のコツ

定数の名前は、大文字から始めるのが一般的です(特に外部から使う場合)。Go言語では、名前の付け方だけで「どこから使えるか」が決まるため、命名は見た目以上に大事です。

ざっくり言うと、先頭が大文字なら他のパッケージからも参照できる(公開)、先頭が小文字なら同じパッケージ内だけで使う(非公開)というイメージです。初心者のうちは、まず「外に出す定数は大文字、内部だけなら小文字」と覚えると迷いにくくなります。

  • PiTaxRate のように、意味がわかる名前をつける(用途が想像できる単語を選ぶ)
  • すべて大文字でMAX_COUNTのように書くスタイルもあります(チームやプロジェクトの方針による)
  • 数字だけ・短すぎる名前(axなど)は避け、読み返しても分かる名前にする

例として、「アプリ内で使う固定値」を定数として用意してみましょう。名前だけ見ても意味が伝わるようにしておくと、後で見返したときに助かります。


package main

import "fmt"

const AppName = "SampleApp"   // 先頭が大文字:公開する想定の名前
const maxRetry = 3            // 先頭が小文字:内部で使う想定の名前

func main() {
    fmt.Println("アプリ名:", AppName)
    fmt.Println("最大リトライ回数:", maxRetry)
}

AppNameは「アプリ名だな」と分かり、maxRetryは「再試行の上限っぽい」と想像できます。定数は「変わらない意味を名前から伝える」ことが大切なので、値よりも名前を丁寧に付けるのがコツです。

また、定数は「変わらない意味を名前から伝える」ことが大切です。

6. 定数を使うメリットとは?

6. 定数を使うメリットとは?
6. 定数を使うメリットとは?

Go言語で定数(const)を使う最大のメリットは、プログラムの安全性と読みやすさが同時に高まる点にあります。数値や文字列をそのまま書くのではなく、意味のある名前を付けて固定できるため、意図しないミスを防ぎやすくなります。

定数を使うことで得られる主なメリットは次のとおりです:

  • 変更できない安心感:途中で値を書き換えてしまう事故を防げる
  • 意味が明確:数値の意味を名前で説明でき、コードが読みやすくなる
  • 修正が簡単:値の変更が必要になっても、定数を1か所直すだけで済む

たとえば、消費税率を直接数値で書くのではなく、定数として定義しておくと違いがはっきりします。


package main

import "fmt"

func main() {
    const taxRate = 0.1
    price := 1000

    total := price + int(float64(price)*taxRate)
    fmt.Println("合計金額は", total, "円です")
}

0.1と直接書くよりも、taxRateと名前が付いていることで「これは税率だ」とすぐに分かります。もし税率が変わっても、定数の値を直すだけで対応できます。

このように、定数を使う習慣を付けると、Go言語のコードが整理され、後から見返したときにも理解しやすくなります。

まとめ

まとめ
まとめ

Go言語における定数の扱いは、プログラムの信頼性や読みやすさを大きく高めるために欠かせない概念です。定数は一度値を決めたら変更できないという特性を持つため、「途中で変えてはいけない値」を扱うときに非常に重要な役割を果たします。記事全体で学んできたように、定数はconstキーワードを使って宣言し、整数や文字列、浮動小数点数など、変化の必要がないデータを安全に管理できます。たとえば、円周率や消費税率のように変更があると誤動作につながってしまう重要な値を定数にすることで、プログラム全体の誤りを防げます。 また、定数はプログラムの可読性向上にも大きく貢献します。値に名前をつけることで、その値が何を意味しているのかを明確に伝えられ、コードを読む人が文脈を理解しやすくなります。定数を適切に使うことは、初心者にこそ身につけてほしい習慣であり、長いプログラムでも迷わず理解しやすくなるため、開発効率の向上にもつながります。

さらに、定数をグループ化できるという特徴も大きな利点です。複数の関連する値をひとつのまとまりとして整理すると、プログラムの構造がよりはっきりと見えるようになり、色やステータスのように複数の選択肢がある場合にも管理がしやすくなります。Go言語では()で囲むことで簡単にグループ化できるため、整理整頓されたコードを書くための便利な手法として活用できます。定数の命名ルールでは大文字で始めるという慣習があり、外部公開用の定数であることを示せるため、パッケージ間の設計においても重要な役割を果たします。

定数と変数の違いを理解することは、プログラムを書く上での基礎力を養うことにつながります。変数は値を変えながら処理を進めるときに使い、一方で定数は絶対に変わらない前提の値を扱うときに使用します。初心者がよくやってしまう失敗として、「変わらない値なのに変数を使ってしまう」というパターンがありますが、定数を使うことで後のミスを未然に防げます。定数を使うと、値の意味が明確になり、コードに意図が自然と表れるため、複雑な処理でも迷わず進められるようになります。

理解を深めるための定数サンプルコード

ここで、定数の特徴をしっかり意識したサンプルプログラムを紹介します。実際に書きながら定数の便利さを感じてみましょう。


package main

import "fmt"

const (
    AppName    = "SampleApp"
    MaxUsers   = 100
    TaxRate    = 0.1
    WelcomeMsg = "ようこそ!定数の世界へ"
)

func main() {
    fmt.Println("アプリ名:", AppName)
    fmt.Println("最大利用者数:", MaxUsers)
    fmt.Println("消費税率:", TaxRate)
    fmt.Println("メッセージ:", WelcomeMsg)
}

このサンプルでは、アプリ名、最大人数、税率、メッセージなど、途中で変わる必要がない値をすべて定数として定義しています。実際の開発では、環境設定やエラーコードなど、変更しない値が多く存在します。そのため、定数を使いこなせるとアプリケーション全体の管理がとても楽になります。

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

生徒

「定数って、最初は変数と何が違うのかよく分からなかったんですが、変わらない値を扱うためにすごく便利なんですね!」

先生

「そうなんです。定数を使うことで誤って値を変えてしまうミスを防げますし、コード全体の意味も伝わりやすくなります。」

生徒

「グループ化できるのも便利だと思いました。色や種類をまとめて管理できるのはわかりやすいです!」

先生

「ええ。整理されたコードは保守もしやすくなりますからね。今のうちに定数を使いこなしておくと、今後もっと複雑なプログラムでも困らなくなりますよ。」

生徒

「今日学んだことを意識して、これから書くプログラムでも積極的に使ってみます!」

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

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

※ Amazon広告リンク

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

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

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

Go言語で定数を定義するには何を使えばいいですか?

Go言語で定数を定義するには、constというキーワードを使います。constを使うことで、一度決めた値を変更不可にでき、プログラムの安全性が向上します。

Go言語のconstとvarの違いは何ですか?

constは定数を宣言し、後から変更できません。varは変数を宣言し、プログラムの途中で値を変更できます。定数は「変わらない値」に適しています。

Go言語で定数に使える型にはどんな種類がありますか?

Go言語の定数に使える型は、整数(int)、浮動小数点数(float64)、文字列(string)、ブール値(true/false)などです。配列やスライスなどの変更可能な型は使えません。
関連セミナーのご案内

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

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

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

具体的な開発内容と環境

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

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

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

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

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

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

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

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

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

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

セミナー画像

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

関連記事:
カテゴリの一覧へ
新着記事
New1
Swift
Swiftの可変長引数(Variadic Parameters)とは?初心者向けにやさしく解説!
New2
Go言語
Go言語の配列の基本!定義・初期化・アクセス方法をやさしく解説
New3
Swift
Swift変数と定数の使い方|varとletの違いを初心者向けに解説
New4
Swift
Swift正規表現入門!Regex BuilderとNSRegularExpressionを初心者向けに解説
人気記事
No.1
Java&Spring記事人気No1
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.2
Java&Spring記事人気No2
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.3
Java&Spring記事人気No3
Swift
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.4
Java&Spring記事人気No4
Swift
Swift入門ガイド|基本構文と書き方をマスターしよう
No.5
Java&Spring記事人気No5
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.6
Java&Spring記事人気No6
Go言語
Go言語のビルドの基本!go buildコマンドの使い方を初心者向けに解説
No.7
Java&Spring記事人気No7
TypeScript
TypeScriptで絶対値を求める方法!Math.absの使い方を初心者向けにわかりやすく解説
No.8
Java&Spring記事人気No8
Kotlin
Kotlinの可視性修飾子を完全ガイド!public・private・internalの意味と使い分けを初心者向けに解説

💻 作業効率アップに

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

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

※ Amazon広告リンク