Comment faire un if-else en une ligne en Go ? Opérateur ternaire
Bonjour à tous ! Je viens de commencer à apprendre Go après JavaScript et Python, et j'ai rencontré un problème. Dans ces langages, j'avais l'habitude d'écrire des expressions conditionnelles courtes sur une seule ligne, par exemple :
En JavaScript : `const status = age >= 18 ? "adulte" : "enfant";`
En Python : `status = "adulte" if age >= 18 else "enfant"`
C'est très pratique pour des affectations simples. Mais en Go, je ne trouve pas d'équivalent. J'ai essayé d'écrire quelque chose comme :
```go
status := age >= 18 ? "adulte" : "enfant"
```
Mais le compilateur renvoie une erreur. J'ai essayé différentes variantes, mais rien ne fonctionne. Est-ce que Go n'a vraiment pas d'opérateur ternaire ? Comment écrire alors des conditions simples sur une seule ligne ? Je suis obligé d'écrire des blocs if-else entiers même pour des choses élémentaires, et le code devient très lourd.
Par exemple, je veux assigner une valeur à une variable en fonction d'une condition, sans gonfler le code. En Go, cela ressemble à :
```go
var status string
if age >= 18 {
status = "adulte"
} else {
status = "enfant"
}
```
C'est
No answers yet.
Connectez-vous pour laisser une réponse
Blogs