1. きのこ図鑑を渡したとき
  2. 別の商品を渡したとき
  3. 価格が0のとき
コース一覧
Go入門
varで宣言する

Go入門

変数とゼロ値、Go唯一のループであるfor、複数戻り値とエラー処理、スライスとマップ、構造体とメソッド、ゴルーチンによる並行処理、net/httpによるAPI開発まで、Goの基礎を、毎レッスン実際にコードを書き、フリマアプリのAPIをGoで作りながら学びます。

1
Hello, Go
01. Goとは15分
02. 実行してみる15分
03. packageとmain15分
04. fmtで出力する15分
05. go buildと1バイナリ15分
06. つくる: 起動バナー20分
07. 第1章クイズ10分
2
変数と型
01. varで宣言する15分
02. := の短縮宣言15分
03. ゼロ値(Goならでは)15分
04. 基本の型15分
05. 暗黙変換なし15分
06. 定数とiota15分
07. つくる: 商品データ表示20分
08. 第2章クイズ10分
3
制御構文(forしかない世界)
01. Goのif15分
02. forしかない世界15分
03. forの七変化15分
04. Goのswitch15分
05. 定番: FizzBuzz15分
06. ループで集計15分
07. つくる: 商品集計20分
08. 第3章クイズ10分
4
関数とエラー処理
01. funcで関数を作る15分
02. 複数戻り値(Goならでは)15分
03. if err != nil(Goの心臓)15分
04. エラーを作る15分
05. deferで後始末15分
06. つくる: 検証つき関数群20分
07. 第4章クイズ10分
5
スライスとマップ
01. 配列15分
02. スライス15分
03. appendで育てる15分
04. rangeで走査する15分
05. マップ15分
06. カンマokイディオム15分
07. つくる: 検索と集計20分
08. 第5章クイズ10分
6
構造体とメソッド
01. 構造体15分
02. 初期化とフィールド15分
03. メソッド15分
04. ポインタレシーバ20分
05. New関数の慣習15分
06. 構造体のスライス15分
07. つくる: Itemで再設計20分
08. 第6章クイズ10分
7
ゴルーチンと並行処理のさわり
01. ゴルーチン15分
02. チャネル20分
03. 待ち合わせ20分
04. 並行の落とし穴20分
05. つくる: 並行集計20分
06. 第7章クイズ10分
8
Web API(net/http)
01. サーバーを立てる20分
02. ハンドラ関数20分
03. JSONを返す20分
04. ルーティング20分
05. 一覧API20分
06. 詳細APIと40420分
07. 出品API20分
08. つくる: API主要部完成25分
09. 第8章クイズ10分
9
総合制作
01. 仕様互換を仕上げる25分
02. Node版と差し替える25分
03. 1バイナリでデプロイ25分
04. 自由拡張25分
05. 完成と次のステップ20分

varで宣言する

型は名前の後ろに書く

変数を作るときの基本の形です。

Go

var name string = "きのこ図鑑" var price int = 1200

読む順番は「var(変数を作る) → name(名前) → string(型) → 値」です。多くの言語と逆で、型が名前の後ろに来ます。

慣れない並びですが、理由があります。長い宣言を並べたときに、名前が縦に揃うからです。

Go

var name string var price int var isSoldOut bool

名前が左に揃うので、何が定義されているか目で追いやすくなります。

型を省略できる

値を書けば、型は見れば分かります。省略できます。

Go

var name = "きのこ図鑑" // string になる var price = 1200 // int になる

これを型推論と言います。Go が値から型を決めてくれます。

逆に、値のほうを省略することもできます。

Go

var name string // 空文字 "" が入る var price int // 0 が入る

このとき変数は空っぽにはなりません。型ごとに決まった初期値が入ります。これが次のレッスンでやるゼロ値です。

まとめて宣言する

括弧でまとめられます。

Go

var ( name string = "きのこ図鑑" price int = 1200 )

関連する変数が続くときに使うと、まとまりが目で分かります。

宣言したら使う

Go は使われていない変数をエラーにします。

プレーンテキスト

./main.go:5:6: declared and not used: price

「宣言したのに使っていません」という意味です。他の言語なら警告で済むところですが、Go は止めます。

書きかけのコードでよく出るので驚きますが、消し忘れた変数が残らないという効き目があります。使い道が決まるまで書かない、という順番に自然となります。

要件

  1. var label string = name の形で、商品名を label に入れる
  2. var amount int = price の形で、価格を amount に入れる
  3. label と amount を使って きのこ図鑑 は 1200 円 の形の文字列を返す

入出力例

itemLine("きのこ図鑑", 1200) → "きのこ図鑑 は 1200 円" itemLine("中古スマホ", 24800) → "中古スマホ は 24800 円" itemLine("おまけ", 0) → "おまけ は 0 円"

ヒント

`var label string = name` のように、var・名前・型・イコール・値の順に書きます

型紙は `"%s は %d 円"` です。`は` と `円` の前後に半角スペースが入ります

宣言した `label` と `amount` を両方使ってください。片方でも使わないとコンパイルエラーになります

生田 陸人
監修生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
編集 ゆめさく編集部·公開 2026/08/10

関連レッスン

  • := の短縮宣言

    varと:=を使い分け、関数の中では短縮宣言で書けるようになります。

  • ゼロ値(Goならでは)

    初期化しなかった変数の値を予言できるようになり、Goに未定義が無い理由を説明できます。

  • 基本の型

    int・float64・string・boolを使い分け、在庫数や価格を適切な型で持てるようになります。

  • 暗黙変換なし

    intとfloat64をそのまま足せない理由を知り、明示的な型変換を書けるようになります。

このレッスンに出てくる用語

意味があいまいなまま進んだ語は、ここから読み直せます。

  • 変数データに名前をつけて参照する仕組み
  • 型推論書かなくても TypeScript が型を当てる仕組み
  • 関連クラス間のつながりを表す直線
main.go
学習モード
エディタを読み込んでいます

メモ

varで宣言する

⌘S で保存