Wie kann ich eine Zeichenfolge in Go ändern, wenn sie unveränderlich ist?

DDD
Freigeben: 2024-10-26 12:38:29
Original
944 Leute haben es durchsucht

How Can I Modify a String in Go If It's Immutable?

String-Änderung in Go: Behebung des Fehlers „Zuweisung zu String nicht möglich“

Go-Strings sind unveränderlich, das heißt, sie können nicht einmal direkt geändert werden erstellt. Diese Einschränkung führt häufig zu der Fehlermeldung „Zuweisung an new_str[i] nicht möglich“, wenn versucht wird, den Inhalt einer Zeichenfolge zu ändern. Um diese Herausforderung zu meistern und Zeichenfolgen zu ändern, ist ein alternativer Ansatz erforderlich.

Eine Lösung besteht darin, die Zeichenfolge in ein Byte-Slice umzuwandeln, das wie ein Array geändert werden kann. Diese Technik ermöglicht das Ersetzen von Zeichen innerhalb der Zeichenfolge. Der folgende Code demonstriert diesen Ansatz:

<code class="go">func ToUpper(str string) string {
    new_str := []byte(str)
    for i := 0; i < len(str); i++ {
        if str[i] >= 'a' && str[i] <= 'z' {
            chr := uint8(rune(str[i]) - 'a' + 'A')
            new_str[i] = chr
        }
    }
    return string(new_str)
}</code>
Nach dem Login kopieren

In diesem Code wird die Zeichenfolge str in ein Byte-Slice new_str konvertiert. Anschließend wird das Byte-Slice durchlaufen und jedes Byte mit dem ASCII-Kleinbuchstabenbereich verglichen. Wenn ein Byte in Kleinbuchstaben auftritt, wird es durch sein ASCII-Äquivalent in Großbuchstaben ersetzt. Schließlich wird das geänderte Byte-Slice wieder in einen String umgewandelt und zurückgegeben.

Dieser Ansatz ermöglicht die Änderung von Strings in Go unter Beibehaltung ihrer Unveränderlichkeit. Es bietet eine flexible und effiziente Möglichkeit, Zeichenfolgen in verschiedenen Kontexten zu bearbeiten.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Zeichenfolge in Go ändern, wenn sie unveränderlich ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!