Go言語入門「はじめの一歩から学ぶ基礎文法」

スポンサーリンク
Go

GitHub Codespacesで学習環境を構築したあなたに向けて、Go言語の基礎を解説しよう。

今回は、Goプログラミングの土台となる4つの重要な概念を学んでいこう。

1. パッケージの概念「Goプログラムの構成単位」

Goのすべてのプログラムはパッケージで構成されている。
パッケージは、関連するコードをまとめる単位である。

package main

import "fmt"

func main() {
    fmt.Println("Hello, Go!")
}

重要なポイント

  • package main:実行可能なプログラムは必ずmainパッケージから始まる。
  • import:他のパッケージの機能を使うための宣言である。fmtは標準ライブラリの一つで、入出力機能を提供する。
  • main関数:プログラムのエントリーポイント(開始地点)である。

パッケージは、Goにおける名前空間の役割も果たす。
例えばfmt.Printlnは「fmtパッケージのPrintln関数」という意味である。

2. 変数宣言「varと:=の使い分け」

Goには2つの変数宣言方法がある。それぞれに適した使い方がある。

var による宣言

var name string = "太郎"
var age int = 25
var isStudent bool = true

// 型推論を使った宣言
var city = "三重"  // stringと推論される

// 初期値を省略(ゼロ値が入る)
var count int  // 0が入る

使うべき場面

  • パッケージレベルの変数(関数の外)
  • 初期値を設定しない場合
  • 型を明示的に指定したい場合

:= による短縮宣言

name := "太郎"
age := 25
isStudent := true

使うべき場面

  • 関数内での変数宣言(最も一般的)
  • 初期値が明確な場合
  • コードを簡潔に書きたい場合

注意:=は関数の外では使えない。

3. 基本的なデータ型

Goの基本データ型を理解しよう。

int(整数)

age := 25
population := 1000000
temperature := -5

整数を扱う型である。正の数、負の数、ゼロを表現できる。

string(文字列)

name := "田中太郎"
message := "こんにちは、Go言語!"
empty := ""

文字列はダブルクォーテーション("")で囲む。日本語も問題なく扱える。

bool(真偽値)

isStudent := true
hasLicense := false

true(真)またはfalse(偽)のいずれかの値を持つ。条件分岐などで活躍する。

float64(浮動小数点数)

price := 1980.50
temperature := 36.5
pi := 3.14159

小数を扱う型である。float64は64ビットの精度を持ち、一般的な用途に適している。

4. fmt.Printlnでの出力

fmt.Printlnは、標準出力(通常はターミナル)にデータを表示する関数である。

基本的な使い方

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

複数の値を出力

name := "太郎"
age := 25
fmt.Println("名前:", name, "年齢:", age)
// 出力: 名前: 太郎 年齢: 25

複数の値を渡すと、自動的にスペースで区切って出力される。

変数の値を確認

price := 1500.75
isAvailable := true
fmt.Println(price)       // 1500.75
fmt.Println(isAvailable) // true

デバッグ時に変数の中身を確認するのに便利である。

実践:すべてを組み合わせたサンプル

以下はこれまで学んだ内容を使った完全なプログラムである。

package main

import "fmt"

func main() {
    // 変数宣言
    var name string = "田中太郎"
    age := 25
    height := 175.5
    isStudent := true
    
    // 出力
    fmt.Println("=== プロフィール ===")
    fmt.Println("名前:", name)
    fmt.Println("年齢:", age)
    fmt.Println("身長:", height, "cm")
    fmt.Println("学生:", isStudent)
}

実行結果

=== プロフィール ===
名前: 田中太郎
年齢: 25
身長: 175.5 cm
学生: true

次のステップとしては、制御構文(if文、for文)や関数の定義を学んでいくとよいだろう。

コメント

タイトルとURLをコピーしました