Go言語の文字列を大文字・小文字に変換する方法!ToUpper・ToLowerの使い方を徹底解説
生徒
「Go言語で文字列を全部大文字や小文字に変えることってできますか?」
先生
「はい、できます。Go言語にはstringsパッケージが用意されていて、その中のToUpperやToLower関数を使えば簡単に変換できますよ。」
生徒
「どんなときに使うんですか?」
先生
「例えば、ユーザーが入力した文字を統一したいときなどに便利です。では実際の使い方を見ていきましょう!」
1. Go言語の文字列変換とは?
プログラミングでは文字列を扱うことがとても多いです。特に、ユーザーが入力する文字は大文字と小文字が混ざっている場合があります。例えば「apple」「Apple」「APPLE」は見た目は違いますが、意味は同じ「りんご」です。このとき、大文字や小文字を統一して比較や保存をすると便利です。
Go言語には、標準ライブラリのstringsパッケージに文字列変換の関数があり、これを使うことで簡単に大文字・小文字の変換ができます。
2. ToUpperで文字列を大文字に変換する
strings.ToUpper関数を使うと、文字列のすべての文字を大文字に変換できます。例えば「hello」という文字列を渡すと「HELLO」になります。
package main
import (
"fmt"
"strings"
)
func main() {
text := "hello, go!"
upper := strings.ToUpper(text)
fmt.Println(upper)
}
HELLO, GO!
このように、アルファベット部分がすべて大文字に変換されました。日本語や数字はそのまま変換されずに残ります。
3. ToLowerで文字列を小文字に変換する
逆に、strings.ToLowerを使えば文字列を小文字に変換できます。これにより、大文字小文字が混ざった文字列でも統一して扱うことができます。
package main
import (
"fmt"
"strings"
)
func main() {
text := "GoLang Programming"
lower := strings.ToLower(text)
fmt.Println(lower)
}
golang programming
この例では「GoLang Programming」がすべて小文字の「golang programming」に変換されました。
4. 大文字・小文字変換の活用例
大文字小文字の変換は、特に文字列比較のときに役立ちます。例えば、ユーザーが「YES」と入力しても「yes」と入力しても、同じ意味として扱いたい場合があります。そのようなときは両方を小文字に変換して比較する方法が使えます。
package main
import (
"fmt"
"strings"
)
func main() {
input := "YeS"
if strings.ToLower(input) == "yes" {
fmt.Println("同意が確認できました!")
} else {
fmt.Println("入力が異なります。")
}
}
同意が確認できました!
このようにすれば、大文字や小文字が混ざっていても同じ意味で処理できます。
5. 日本語や数字はどうなる?
Go言語のToUpperやToLowerはアルファベットに対して働く機能です。日本語や数字、記号などは変換されません。例えば「こんにちは123!」という文字列を変換しても、そのまま変わらず表示されます。
package main
import (
"fmt"
"strings"
)
func main() {
text := "こんにちは123!"
fmt.Println(strings.ToUpper(text))
fmt.Println(strings.ToLower(text))
}
こんにちは123!
こんにちは123!
このように、アルファベット以外はそのまま出力されます。したがって、日本語の文章を扱うときには見た目に変化はありません。
6. 応用:ユーザー入力の正規化
実際のアプリケーションでは、ユーザーが入力する内容を統一して扱うことが多いです。例えば、ログイン画面でメールアドレスを入力する場合に「User@Example.com」と「user@example.com」は同じメールアドレスとして処理する必要があります。そのときにToLowerを使って小文字に統一すると、比較が簡単になります。