「名前を奪われる」あの有名シーンを、Go で再現した非公式サンプル実装です。
このプロジェクトは教育・学習目的で作成されたものであり、特定の映画・スタジオ・権利者とは一切関係ありません。
このリポジトリは、「名前と契約」をテーマにした Go の学習用プログラム です。
CLI 上でユーザーに名前を尋ね、ある条件のもとで“別の名前”を与えることで、入力処理・エラー制御・構造体・インタラクション設計などを体験できます。
このコードは「キャラクターの真似」や「物語の再現」を目的とせず、入力対話を通じて Go の基本構文を楽しく学ぶ教材 として設計されています。
- Go
- バージョンは
go versionで確認してください。
yubaba-go/
├── go.mod
├── main.go
├── main_test.go
└── README.md
- このディレクトリに移動して、依存を整理します。
$ go mod tidy
- プログラムを実行します。
$ go run .
- 画面に契約を促す人物が登場します。指示に従って名前を入力してください。
このプロジェクトには簡単な単体テストも含まれています。
$ go test ./...
- 変数
- 入力された名前の文字数を変数に格納して「おまえの名前は〇文字だね」と出力してみましょう。
- 条件分岐
- 名前が 5 文字以上なら「長い名前だね」と出力してみましょう。
- 関数
- isValidName 関数を追加して「空文字」「空白だけ」「数字だけ」を無効にしましょう。
- スライス
- stealName 関数を「ランダムに 2 文字を奪う」関数に書き換えてみましょう。
- ループ
- 「契約やり直しは最大 3 回まで」という制限をつけてみましょう。
- ファイル入出力
- 契約の結果を
contract.txtに保存してみましょう。
- 契約の結果を
- JSON 出力
- 名前の変換結果を JSON 形式で保存してみましょう。
- 複数人対応
- 複数人の名前をまとめて入力して、順番に契約処理できるようにしましょう。
- 名前のルールを変更してみましょう。
- 2 文字以上を奪う
- 母音だけ残す
- アルファベットに変換する
これは物語的モチーフを題材としたフィクションであり、実在の人物・団体・作品とは関係ありません。