Day 8: 構造体 - 課題
課題概要
複数のフィールドをまとめた独自の型「構造体」を学びます。
所要時間: 約3時間 | 難易度: ★★★☆☆
---
課題1: 構造体の基本
問題1-1(必須): Person構造体
名前と年齢を持つPerson構造体を定義し、インスタンスを作成して表示してください。
type Person struct {
Name string
Age int
}
問題1-2(必須): 構造体のスライス
複数のPersonを格納するスライスを作成し、全員の情報を表示してください。
---
課題2: メソッド
問題2-1(必須): 挨拶メソッド
PersonにGreet()メソッドを追加し、自己紹介を表示してください。
p.Greet() // → 私は太郎、25歳です
問題2-2(必須): 誕生日メソッド
年齢を1つ増やすBirthday()メソッドを追加してください。
---
課題3: 応用問題
問題3-1(任意): Rectangle構造体
幅と高さを持つRectangle構造体を作成し、面積と周長を計算するメソッドを追加してください。
問題3-2(任意): 学生管理システム
Student構造体(名前、点数のスライス)を作成し、平均点を計算するメソッドを追加してください。
---
最終課題: ミニプロジェクト
Day 1〜8で学んだ内容を総合して、以下のいずれかを作成してください:
- 簡易電話帳: 構造体とマップを使った連絡先管理
- 成績管理: 構造体とスライスを使った学生の成績管理
- 図形計算機: 複数の図形構造体と面積計算
---
提出物・締め切り
課題1, 2, 最終課題のソースコードと実行結果。