So ermitteln Sie die Länge einer Zeichenfolge in der Go-Sprache

藏色散人
Freigeben: 2023-01-11 09:23:11
Original
5816 Leute haben es durchsucht

So ermitteln Sie die Länge eines Strings in der Go-Sprache: 1. Verwenden Sie die Funktion „len()“, um die ASCII-Stringlänge zu berechnen. 2. Verwenden Sie die Funktion „utf8.RuneCountInString()“, um die Unicode-Stringlänge zu berechnen.

So ermitteln Sie die Länge einer Zeichenfolge in der Go-Sprache

Die Betriebsumgebung dieses Artikels: Windows 7-System, Go-Version 1.11.2, Dell G3-Computer.

Empfohlenes Tutorial: „go language

Go language berechnet die Stringlänge – len() und RuneCountInString()

Die in Go language integrierte Funktion len() kann verwendet werden, um Slices zu erhalten Länge von Strings, Kanälen usw. Der folgende Code kann len() verwenden, um die Länge einer Zeichenfolge abzurufen.

tip1 := "genji is a ninja"
fmt.Println(len(tip1))
tip2 := "忍者"
fmt.Println(len(tip2))
Nach dem Login kopieren

Die Programmausgabe lautet wie folgt:

16
6
Nach dem Login kopieren

len() Der Rückgabewert der Funktion ist vom Typ int, der die Anzahl der ASCII-Zeichen oder die Bytelänge der Zeichenfolge darstellt.

Die 16 in der ersten Zeile der Ausgabe gibt an, dass die Anzahl der Zeichen in tip1 16 beträgt.

Die 6 in der zweiten Zeile der Ausgabe gibt das Zeichenformat von tip2 an, d. h. die Anzahl der Zeichen für „Ninja“ beträgt 6. Gemäß Brauch sollte die Anzahl der Zeichen für „Ninja“ jedoch 2 betragen.

Der Unterschied besteht darin, dass alle Go-Sprachzeichenfolgen im UTF-8-Format gespeichert werden und jedes chinesische Zeichen 3 Bytes belegt. Verwenden Sie daher len(), um die 6 Bytes zu erhalten, die den beiden chinesischen Zeichen entsprechen.

Wenn Sie auf der Grundlage der üblichen Zeichenanzahl berechnen möchten, müssen Sie die Funktion RuneCountInString() des UTF-8-Pakets in der Go-Sprache verwenden, um die Anzahl der Uncode-Zeichen zu zählen.

Der folgende Code zeigt, wie die Anzahl der Zeichen in UTF-8 berechnet wird.

fmt.Println(utf8.RuneCountInString("忍者"))
fmt.Println(utf8.RuneCountInString("龙忍出鞘,fight!"))
Nach dem Login kopieren

Die Programmausgabe lautet wie folgt:

2
11
Nach dem Login kopieren

Bei allgemeinen Spielen müssen Sie beim Anmelden Ihren Namen eingeben, und der Name hat im Allgemeinen eine Längenbeschränkung. Da Chinesen es gewohnt sind, Chinesisch als Namen zu verwenden, ist es notwendig, die Länge der Zeichenfolge im UTF-8-Format zu ermitteln.

Zusammenfassung

Die Länge der ASCII-Zeichenfolge verwendet die Funktion len().

Unicode-Stringlänge verwendet die Funktion utf8.RuneCountInString().

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie die Länge einer Zeichenfolge in der Go-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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!