Inhaltsverzeichnis
Inhalt der Frage
Workaround
Heim Backend-Entwicklung Golang Ersetzen Sie Zeichen in einer Zeichenfolge in Golang

Ersetzen Sie Zeichen in einer Zeichenfolge in Golang

Feb 09, 2024 pm 06:09 PM
字符串数组 overflow

Ersetzen Sie Zeichen in einer Zeichenfolge in Golang

Bei der Golang-Programmierung ist das Ersetzen von Zeichen in einer Zeichenfolge ein häufiger Vorgang. Unabhängig davon, ob Sie ein einzelnes Zeichen oder mehrere Zeichen ersetzen, können Sie dies mithilfe der integrierten Zeichenfolgenfunktionen und -methoden tun. In diesem Artikel stellen wir Ihnen vor, wie Sie Zeichenfolgenzeichen in Golang durch den PHP-Editor Xinyi ersetzen. Egal, ob Sie Anfänger oder erfahrener Entwickler sind, dieser Artikel bietet Ihnen eine prägnante und klare Anleitung, die Ihnen hilft, diese Technik mühelos zu beherrschen.

Inhalt der Frage

Ich versuche, ein Zeichen an einer bestimmten Position in einem String-Array zu ersetzen. Mein Code sieht so aus:

package main

import (
    "fmt"
)

func main() {
    str := []string{"test","testing"}
    str[0][2] = 'y'
    fmt.Println(str)
}
Nach dem Login kopieren

Im Moment erhalte ich beim Ausführen dieses Befehls die folgende Fehlermeldung:

cannot assign to str[0][2]
Nach dem Login kopieren

Irgendeine Idee, wie das geht? Ich habe versucht, strings.Replace zu verwenden, aber soweit ich weiß, werden dadurch alle Vorkommen eines bestimmten Zeichens ersetzt, und ich möchte dieses bestimmte Zeichen ersetzen. Jede Hilfe wird geschätzt. TIA.

Workaround

Strings in Go sind unveränderlich, Sie können ihren Inhalt nicht ändern. Um den Wert einer String-Variablen zu ändern, müssen Sie einen neuen String-Wert zuweisen.

Eine einfache Möglichkeit besteht darin, zunächst string in ein Byte- oder Runen-Slice umzuwandeln, Änderungen vorzunehmen und zurück zu konvertieren:

s := []byte(str[0])
s[2] = 'y'
str[0] = string(s)
fmt.Println(str)
Nach dem Login kopieren

Dies wird ausgegeben (versuchen Sie es auf Go Playground):

[teyt testing]
Nach dem Login kopieren

Hinweis: Ich habe die Zeichenfolge in ein Byte-Slice konvertiert, da genau das passiert, wenn Sie eine Zeichenfolge indizieren: Ihre Bytes werden indiziert. byte 切片,因为这就是您索引字符串时发生的情况:它索引其字节。 string Speichert eine UTF-8-Bytesequenz von Text, die Bytes nicht unbedingt eins zu eins den Zeichen zuordnet.

Wenn Sie das zweite Zeichen ersetzen müssen, verwenden Sie stattdessen []rune:

s := []rune(str[0])
s[2] = 'y'
str[0] = string(s)
fmt.Println(str)
Nach dem Login kopieren

In diesem Beispiel spielt es keine Rolle, aber im Allgemeinen ist es wahrscheinlich schon so.

Beachten Sie außerdem, dass strings.Replace() nicht (notwendigerweise) alle Vorkommen von:

ersetzt
func Replace(s, old, new string, n int) string
Nach dem Login kopieren

Parameter n gibt die maximale Anzahl der durchzuführenden Ersetzungen an. Daher funktioniert auch Folgendes (versuchen Sie es auf Go Playground):

str[0] = strings.Replace(str[0], "s", "y", 1)
Nach dem Login kopieren

Eine andere Lösung könnte darin bestehen, die Zeichenfolge bis zum ersetzbaren Zeichen aufzuteilen und mit dem Zeichen nach dem ersetzbaren Zeichen zu beginnen und sie dann zu verketten (in Zum Spielplatz gehen):

str[0] = str[0][:2] + "y" + str[0][3:]
Nach dem Login kopieren

Auch hier ist Vorsicht geboten: Der Slice-Index ist ein Byte-Index, kein Zeichen-(Rune-)Index.

Siehe verwandte Fragen: Unveränderliche Zeichenfolgen und Zeigeradressen p>

Das obige ist der detaillierte Inhalt vonErsetzen Sie Zeichen in einer Zeichenfolge in Golang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Eine Liste der historischen Preise seit der Geburt von Bitcoin BTC Historical Price Trend Chart (neueste Zusammenfassung) Eine Liste der historischen Preise seit der Geburt von Bitcoin BTC Historical Price Trend Chart (neueste Zusammenfassung) Feb 11, 2025 pm 11:36 PM

Seit seiner Gründung im Jahr 2009 hat der Preis von Bitcoin im November 2021 auf 69.044,77 USD auf 69.044,77 USD gestiegen und im Dezember 2018 auf 3.191,22 USD gesunken. Ab Dezember 2024 hat der jüngste Preis 100.204 USD überschritten.

Der jüngste Preis für Bitcoin in den Jahren 2018-2024 USD Der jüngste Preis für Bitcoin in den Jahren 2018-2024 USD Feb 15, 2025 pm 07:12 PM

Echtzeit-Bitcoin-USD-Preis Faktoren, die den Bitcoin -Preis beeinflussen Indikatoren für die Vorhersage zukünftiger Bitcoin -Preise Hier finden Sie einige wichtige Informationen zum Preis von Bitcoin in den Jahren 2018-2024:

Die vollständigste Zusammenfassung der historischen Preisdetails seit der Geburt von Bitcoin (die neueste Version von 2025) Die vollständigste Zusammenfassung der historischen Preisdetails seit der Geburt von Bitcoin (die neueste Version von 2025) Feb 15, 2025 pm 06:45 PM

Wichtiger Knoten für Bitcoin Historical Price 3. Januar 2009: Genesis Block wurde generiert, das erste Bitcoin wurde mit einem Wert von USD 0 generiert. 5. Oktober: Als erste Bitcoin -Transaktion kaufte ein Programmierer zwei Pizzen mit 10.000 Bitcoins, entspricht 0,008 USD. 9. Februar 2010: Die Mt. Gox Exchange ging online und wurde zur Hauptplattform für den frühen Bitcoin -Handel. 22. Mai: Bitcoin bricht zum ersten Mal 1 $ durch. 17. Juli: Bitcoin-Preis fiel auf 0,008 USD und erreichte ein Allzeittief. 9. Februar 2011: Bitcoin Price bricht zum ersten Mal 10 US -Dollar durch. 10. April: Mt. Go

Wie kann die technische Fragen und Antworten in der Chatgpt -Ära auf Herausforderungen reagieren? Wie kann die technische Fragen und Antworten in der Chatgpt -Ära auf Herausforderungen reagieren? Apr 01, 2025 pm 11:51 PM

Die technische Q & A -Community in der Chatgpt -Ära: SegmentFaults Antwortstrategie Stackoverflow ...

Wie verwendet ich das Clip-Pfad-Attribut von CSS, um den 45-Grad-Kurveneffekt des Segmenters zu erreichen? Wie verwendet ich das Clip-Pfad-Attribut von CSS, um den 45-Grad-Kurveneffekt des Segmenters zu erreichen? Apr 04, 2025 pm 11:45 PM

Wie kann man den 45-Grad-Kurveneffekt des Segmenters erreichen? Bei der Implementierung des Segmenters verwandeln Sie den rechten Rand in eine 45-Grad-Kurve, wenn Sie auf die linke Schaltfläche klicken, und der Punkt ...

Wie kann man das Größensymbol durch CSS anpassen und es mit der Hintergrundfarbe einheitlich machen? Wie kann man das Größensymbol durch CSS anpassen und es mit der Hintergrundfarbe einheitlich machen? Apr 05, 2025 pm 02:30 PM

Die Methode zur Anpassung der Größe der Größe der Größe der Größe in CSS ist mit Hintergrundfarben einheitlich. In der täglichen Entwicklung begegnen wir häufig Situationen, in denen wir die Details der Benutzeroberfläche wie Anpassung anpassen müssen ...

In einem Artikel erfahren In einem Artikel erfahren Feb 15, 2025 pm 10:06 PM

Die Finanzierungszinsen der virtuellen Währung sind Gebühren für Händler, die Positionen im Handel mit Derivaten innehatten. Es spiegelt eine Prämie oder einen Rabatt zwischen dem Spot -Marktpreis und dem Futures -Vertragspreis nach Ablauf des Vertrags wider. Wenn der Spotpreis höher als der Futures -Preis ist, ist der Kapitalzins negativ, was bedeutet, dass Händler, die Kurzpositionen an Händlern zahlen, die Länge von Händlern zahlen. Im Gegenteil, wenn der Spotpreis niedriger als der Futures -Preis ist, ist der Kapitalzins positiv, was bedeutet, dass Händler, die lange Positionen in Anspruch nehmen, Gebühren für Händler zahlen, die kurze Positionen annehmen.

Analyse der vielversprechendsten virtuellen Währung in 2025 Top 10 potenzieller virtueller Währungsinventar im Jahr 2025 Analyse der vielversprechendsten virtuellen Währung in 2025 Top 10 potenzieller virtueller Währungsinventar im Jahr 2025 Feb 15, 2025 pm 05:51 PM

Der Markt für virtuelle Währungen entwickelt sich ständig weiter und in den kommenden Jahren wird ein aufregendes Wachstum erwartet. Im Jahr 2025 wird erwartet, dass einige Kryptowährungen sich auffallen und die vielversprechendsten Investitionen in den Raum werden. Dieser Artikel analysiert einige der vielversprechendsten virtuellen Währungen im Jahr 2025 und deckt ihre einzigartigen Fähigkeiten, ihr Wachstumspotenzial und ihre Möglichkeiten, die sich auf die Zukunft auswirken. Zu diesen Währungen gehören Ethereum, Bitcoin, Cardano, Polkadot und Binance Coin, die eine Schlüsselrolle bei der Entwicklung dezentraler Finanzierung, intelligenter Verträge und Blockchain -Technologien spielen. In Verständnis des Potenzials dieser virtuellen Währungen können Anleger bereit sein, die Chancen des virtuellen Währungsmarktes im Jahr 2025 zu nutzen.

See all articles