Day 8: 構造体 - 課題

課題概要

複数のフィールドをまとめた独自の型「構造体」を学びます。

所要時間: 約3時間 | 難易度: ★★★☆☆

---

課題1: 構造体の基本

問題1-1(必須): Person構造体

名前と年齢を持つPerson構造体を定義し、インスタンスを作成して表示してください。

type Person struct {
    Name string
    Age  int
}

問題1-2(必須): 構造体のスライス

複数のPersonを格納するスライスを作成し、全員の情報を表示してください。

---

課題2: メソッド

問題2-1(必須): 挨拶メソッド

PersonGreet()メソッドを追加し、自己紹介を表示してください。

p.Greet()  // → 私は太郎、25歳です

問題2-2(必須): 誕生日メソッド

年齢を1つ増やすBirthday()メソッドを追加してください。

---

課題3: 応用問題

問題3-1(任意): Rectangle構造体

幅と高さを持つRectangle構造体を作成し、面積と周長を計算するメソッドを追加してください。

問題3-2(任意): 学生管理システム

Student構造体(名前、点数のスライス)を作成し、平均点を計算するメソッドを追加してください。

---

最終課題: ミニプロジェクト

Day 1〜8で学んだ内容を総合して、以下のいずれかを作成してください:

  • 簡易電話帳: 構造体とマップを使った連絡先管理
  • 成績管理: 構造体とスライスを使った学生の成績管理
  • 図形計算機: 複数の図形構造体と面積計算

---

提出物・締め切り

課題1, 2, 最終課題のソースコードと実行結果。