Idiomatisches Go: Darstellung optionaler Zeichenfolgen
Das Fehlen von Variantentypen in Go stellt eine Herausforderung für die Modellierung von Werten dar, die sowohl in als auch in Abwesenheit vorhanden sein können oder Gegenwartsform. Dies ist besonders relevant für Strings, die nil nicht als Mitglied akzeptieren können.
Optionen zur Modellierung optionaler Strings
Zeichenfolge mit spezifischem Nullwert:
a. Leerer String (""): Die Festlegung des leeren Strings als Nullelement erleichtert die Initialisierung und den Umgang mit fehlenden Werten in Karten.
b. Ungültige UTF-8-Bytesequenz: In Fällen, in denen leere Zeichenfolgen gültig sind, kann eine kurze ungültige UTF-8-Bytesequenz (z. B. „xff“) verwendet werden, um den Nullwert darzustellen und gleichzeitig gültige Textzeichenfolgen zuzulassen.
Es wird ein ungültiges UTF-8-Byte verwendet Sequenz
Beispiel:
const Null = "\xff" func main() { fmt.Println(utf8.ValidString(Null)) // false s := Null fmt.Println([]byte(s)) // [255] fmt.Println(s == Null) // true s = "notnull" fmt.Println(s == Null) // false }
Das obige ist der detaillierte Inhalt vonWie kann ich optionale Zeichenfolgen in Go am besten darstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!