はじめに
このチャレンジでは、ソーシャルメディア・プラットフォームのユーザー登録システムにおいて、ユーザー名を整形する機能を実装していただきます。このタスクの目的は、データの整合性を保ち、ユーザーエクスペリエンスを向上させるために、一貫性のあるクリーンなユーザー入力を保証することです。具体的には、入力された文字列の前後にある空白を削除し、各名前のセグメント(名、ミドルネーム、姓など)の先頭を大文字に変換する機能を実装します。
ユーザー登録文字列の処理
ソーシャルメディア・プラットフォームのユーザー登録システムにおいて、一貫性のあるクリーンなユーザー入力を維持することは、データの整合性とユーザーエクスペリエンスの両面で非常に重要です。
タスク
- フルネームを引数として受け取る関数
formatUserNameを作成してください。 - 入力文字列の前後にある空白(ホワイトスペース)を削除してください。
- 各名前のセグメントの先頭文字を大文字に変換してください。
- 整形されたフルネームを返り値として返してください。
要件
- ソリューションは
~/project/registration.goに作成してください。 - 前回の実験で学んだ Go の文字列操作(string manipulation)関数を使用してください。
- 関数は、複数の名前セグメント(名、ミドルネーム、姓)に対応している必要があります。
- 余分な空白を削除するために
strings.TrimSpace()を使用してください。 - さまざまな入力形式に対して正しく動作することを確認してください。
例
関数をテストするために、main() 関数を以下の例で更新してください:
func main() {
fmt.Println(formatUserName(" john doe ")) // 出力:John Doe
fmt.Println(formatUserName(" alice bob smith ")) // 出力:Alice Bob Smith
fmt.Println(formatUserName("JANE DOE")) // 出力:Jane Doe
}
プログラムを実行し、出力が期待通りの結果になるか確認します。
go run registration.go
John Doe
Alice Bob Smith
Jane Doe
ヒント
strings.TrimSpace()は、入力された名前の前後にある空白を削除します。strings.Fields()は、複数のスペースを適切に処理しながら、名前をセグメントごとに分割します。strings.Title()を適用する前にstrings.ToLower()を使用すると、大文字小文字が混在していても一貫した整形が可能になります。strings.Join()を使うと、各セグメントの間にスペースを挟んで、整形された名前を再構築できます。
まとめ
このチャレンジでは、ソーシャルメディア・プラットフォームのユーザー登録システムにおけるユーザー名の整形機能を実装しました。文字列の前後にある空白の除去、各名前セグメントの先頭文字の大文字化、そして複数の名前セグメントへの対応を通じて、データの整合性を保ち、ユーザーにとって見やすい形式にデータを整える方法を学びました。



