Avatar ·

Wie man einen String in Go richtig auf Leerheit prüft: Best Practices

Hallo zusammen! Ich habe gerade angefangen, Go zu lernen, und bin auf eine scheinbar einfache Aufgabe gestoßen — die Überprüfung eines Strings auf Leerheit. Aber je mehr ich lese, desto verwirrter werde ich.\n\nIn Python war ich es gewohnt, einfach `if not my_string:` zu schreiben, und das funktionierte. In Go sehe ich mehrere Optionen:\n\n1. `if len(str) == 0 { ... }`\n2. `if str == "" { ... }`\n3. `len(str) == 0` verwenden\n\nWelche dieser Methoden ist korrekt? Gibt es einen Unterschied in der Performance? Gibt es vielleicht eine eingebaute Funktion wie `IsEmpty()`?\n\nHier ist ein Beispiel meines Codes, bei dem ich überprüfe, ob der Benutzer einen Namen eingegeben hat:\n\n```go\npackage main\n\nimport (\n "bufio"\n "fmt"\n "os"\n "strings"\n)\n\nfunc main() {\n reader := bufio.NewReader(os.Stdin)\n fmt.Print("Geben Sie Ihren Namen ein: ")\n name, _ := reader.ReadString('\n')\n name = strings.TrimSpace(name)\n \n // Hier weiß ich nicht, wie ich am besten prüfen soll\n if len(name) == 0 {\n fmt.Println("Der Name darf nicht leer sein!")\n } else {\n fmt.Printf("Hallo, %s!\n", name)\n }