ホームページ  >  記事  >  バックエンド開発  >  Go で数字をアルファベット文字として表すにはどうすればよいですか?

Go で数字をアルファベット文字として表すにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-05 04:35:02927ブラウズ

How to Represent Numbers as Alphabetic Characters in Go?

数値の英語アルファベット表現

Go では、数値をアルファベット文字に変換する方法がいくつかあります。

ルーン変換

定数 'A' - 1 に数値を加算してルーンに変換します。たとえば、3 は 'C' になり、23 は 'W' になります。

<code class="go">import "fmt"

func toChar(i int) rune {
    return rune('A' - 1 + i)
}

func main() {
    for _, i := range []int{1, 2, 23, 26} {
        fmt.Printf("%d %q\n", i, toChar(i))
    }
}</code>

文字列変換

アルファベット表現を文字列として取得するには、次を使用します。

<code class="go">func toCharStr(i int) string {
    return string('A' - 1 + i)
}

func main() {
    for _, i := range []int{1, 2, 23, 26} {
        fmt.Printf("%d \"%s\"\n", i, toCharStr(i))
    }
}</code>

キャッシュされた文字列変換

変換を繰り返す場合は、文字列を配列にキャッシュすることを検討してください。

<code class="go">var arr = [...]string{"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M",
    "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}

func toCharStrArr(i int) string {
    return arr[i-1]
}

func main() {
    for _, i := range []int{1, 2, 23, 26} {
        fmt.Printf("%d \"%s\"\n", i, toCharStrArr(i))
    }
}</code>

文字列定数スライス

もう 1 つの効率的なオプションは、定数文字列をスライスすることです:

<code class="go">const abc = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

func toCharStrConst(i int) string {
    return abc[i-1 : i]
}

func main() {
    for _, i := range []int{1, 2, 23, 26} {
        fmt.Printf("%d \"%s\"\n", i, toCharStrConst(i))
    }
}</code>

以上がGo で数字をアルファベット文字として表すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。