Comment vérifier correctement si une chaîne est vide en Go : meilleures pratiques
Bonjour à tous ! Je viens de commencer à apprendre Go et je suis confronté à une tâche apparemment simple — vérifier si une chaîne est vide. Mais plus je lis, plus je m’embrouille.
En Python, j’avais l’habitude d’écrire simplement `if not my_string:`, et cela fonctionnait. En Go, je vois plusieurs options :
1. `if len(str) == 0 { ... }`
2. `if str == "" { ... }`
3. Utiliser `len(str) == 0`
Laquelle de ces méthodes est correcte ? Y a-t-il une différence de performance ? Existe-t-il une fonction intégrée comme `IsEmpty()` ?
Voici un exemple de mon code où je vérifie si l’utilisateur a saisi un nom :
```go
package main
import (
"bufio"
"fmt"
"os"
"strings"
)
func main() {
reader := bufio.NewReader(os.Stdin)
fmt.Print("Введите ваше имя: ")
name, _ := reader.ReadString('\n')
name = strings.TrimSpace(name)
// Вот тут я не знаю, как лучше проверить
if len(name) == 0 {
fmt.Println("Имя не может быть пустым!")
} else {
fmt.Printf("Привет, %s!\n", name)
}
}
```