Skip to content

「名前を奪われる」あの有名シーンを、Go で再現した非公式サンプル実装です。 このプロジェクトは教育・学習目的で作成されたものであり、特定の映画・スタジオ・権利者とは一切関係ありません。

Notifications You must be signed in to change notification settings

mi-bear/name-contract-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

はじめての Go 体験

「名前を奪われる」あの有名シーンを、Go で再現した非公式サンプル実装です。

このプロジェクトは教育・学習目的で作成されたものであり、特定の映画・スタジオ・権利者とは一切関係ありません。

Overview

このリポジトリは、「名前と契約」をテーマにした Go の学習用プログラム です。

CLI 上でユーザーに名前を尋ね、ある条件のもとで“別の名前”を与えることで、入力処理・エラー制御・構造体・インタラクション設計などを体験できます。

このコードは「キャラクターの真似」や「物語の再現」を目的とせず、入力対話を通じて Go の基本構文を楽しく学ぶ教材 として設計されています。

必要環境

  • Go
  • バージョンは go version で確認してください。

プロジェクト構成

yubaba-go/
├── go.mod
├── main.go
├── main_test.go
└── README.md

実行方法

  1. このディレクトリに移動して、依存を整理します。
$ go mod tidy
  1. プログラムを実行します。
$ go run .
  1. 画面に契約を促す人物が登場します。指示に従って名前を入力してください。

テスト方法

このプロジェクトには簡単な単体テストも含まれています。

$ go test ./...

練習問題

文法基礎

  • 変数
    • 入力された名前の文字数を変数に格納して「おまえの名前は〇文字だね」と出力してみましょう。
  • 条件分岐
    • 名前が 5 文字以上なら「長い名前だね」と出力してみましょう。
  • 関数
    • isValidName 関数を追加して「空文字」「空白だけ」「数字だけ」を無効にしましょう。
  • スライス
    • stealName 関数を「ランダムに 2 文字を奪う」関数に書き換えてみましょう。
  • ループ
    • 「契約やり直しは最大 3 回まで」という制限をつけてみましょう。

発展

  • ファイル入出力
    • 契約の結果を contract.txt に保存してみましょう。
  • JSON 出力
    • 名前の変換結果を JSON 形式で保存してみましょう。
  • 複数人対応
    • 複数人の名前をまとめて入力して、順番に契約処理できるようにしましょう。
  • 名前のルールを変更してみましょう。
    • 2 文字以上を奪う
    • 母音だけ残す
    • アルファベットに変換する

これは物語的モチーフを題材としたフィクションであり、実在の人物・団体・作品とは関係ありません。

About

「名前を奪われる」あの有名シーンを、Go で再現した非公式サンプル実装です。 このプロジェクトは教育・学習目的で作成されたものであり、特定の映画・スタジオ・権利者とは一切関係ありません。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages