ホームページ  >  記事  >  バックエンド開発  >  ## Go 文字列内の小文字を大文字に変換するにはどうすればよいですか?

## Go 文字列内の小文字を大文字に変換するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-26 02:02:02619ブラウズ

## How Can I Convert Lowercase Characters to Uppercase in a Go String?

Go での文字列の変更

Q: 文字列内の小文字を大文字に変換したいのですが、Go は「new_str[i] に割り当てることができません」というエラーをスローします。 」。どうすればこれを達成できますか?

A: Go 文字列の不変性について

Go では、文字列は不変です。つまり、一度作成されるとその内容は変更できません。この動作は、Go 言語仕様に準拠しています。

「文字列は不変です。一度作成されると、文字列の内容を変更することは不可能です。」

A: 文字列の不変性を回避する

Go で文字列を変更するには、次の 2 つのオプションがあります。

  1. 文字列を []byte スライスにキャストし、スライスを変更します。
  2. 新規作成

A: []byte スライスを使用した文字列の変更

ここでは、[]byte スライスを使用して文字を変更するコードの修正バージョンを示します。

<code class="go">package main

import (
    "bytes"
    "fmt"
)

func ToUpper(str string) string {
    strBytes := []byte(str)
    for i := 0; i < len(str); i++ {
        if str[i] >= 'a' && str[i] <= 'z' {
            chr := uint8(rune(str[i]) - 'a' + 'A')
            strBytes[i] = chr
        }
    }
    return string(strBytes)
}

func main() {
    fmt.Println(ToUpper("cdsrgGDH7865fxgh"))
}
</code>

以上が## Go 文字列内の小文字を大文字に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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