Heim  >  Artikel  >  Backend-Entwicklung  >  ## Wie kann ich Kleinbuchstaben in einem Go-String in Großbuchstaben umwandeln?

## Wie kann ich Kleinbuchstaben in einem Go-String in Großbuchstaben umwandeln?

Barbara Streisand
Barbara StreisandOriginal
2024-10-26 02:02:02619Durchsuche

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

Ändern von Zeichenfolgen in Go

F: Ich möchte in einer Zeichenfolge Kleinbuchstaben in Großbuchstaben umwandeln, aber Go gibt einen Fehler aus: „Zuweisung zu new_str[i] nicht möglich] ". Wie kann ich das erreichen?

A: Grundlegendes zur Unveränderlichkeit von Go-Strings

In Go sind Strings unveränderlich, was bedeutet, dass ihr Inhalt nach der Erstellung nicht mehr geändert werden kann. Dieses Verhalten steht im Einklang mit der Go-Sprachspezifikation, in der es heißt:

„Strings sind unveränderlich: Einmal erstellt, ist es unmöglich, den Inhalt eines Strings zu ändern.“

A: Umgehen der String-Unveränderlichkeit

Um einen String in Go zu ändern, haben Sie zwei Möglichkeiten:

  1. Wandeln Sie den String in ein []Byte-Slice um und ändern Sie das Slice.
  2. Erstellen Sie ein neues Zeichenfolge mit den gewünschten Änderungen.

A: Ändern von Zeichenfolgen mithilfe von []Byte-Slices

Hier ist eine modifizierte Version Ihres Codes, die ein []Byte-Slice verwendet, um die Zeichen zu ändern.

<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>

Das obige ist der detaillierte Inhalt von## Wie kann ich Kleinbuchstaben in einem Go-String in Großbuchstaben umwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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