Heim >Backend-Entwicklung >Golang >Wie behebt man „ungültige Operation: new_str str[i 1] (nicht übereinstimmende Typen string und byte)' in Golang?
Typkonflikt in Golang: Beheben des Fehlers (nicht übereinstimmende Typen Zeichenfolge und Byte)
In Golang kann der Fehler „ungültiger Vorgang“ auftreten : new_str str[i 1] (nicht übereinstimmende Typen string und byte)“ aufgrund einer Typinkongruenz. Dieser Fehler tritt auf, wenn versucht wird, ein Byte (str[i 1]) mit einer Zeichenfolge (new_str) zu verketten. Go schreibt explizite Typkonvertierungen vor.
Im bereitgestellten Beispielcode tritt dieser Fehler in den g- und f-Funktionen auf:
Durch die explizite Konvertierung von Bytes in Strings können Sie die Typinkongruenz beheben und den Fehler vermeiden. Hier ist ein überarbeiteter Codeausschnitt mit den notwendigen Konvertierungen:
<code class="go">package main func g(str string) string { var i = 0 var new_str = "" for i < len(str)-1 { new_str = new_str + string(str[i+1]) i = i + 1 } return new_str } func f(str string) string { if len(str) == 0 { return "" } else if len(str) == 1 { return str } else { return f(g(str)) + string(str[0]) } } func main() { // ... }</code>
Das obige ist der detaillierte Inhalt vonWie behebt man „ungültige Operation: new_str str[i 1] (nicht übereinstimmende Typen string und byte)' in Golang?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!