Comment remplacer l'opérateur ternaire de C/C++ en Go ? Méthodes idiomatiques
Bonjour à tous ! Je viens de commencer à apprendre Go après plusieurs années de travail en C++ et j'ai rencontré un problème. En C++, j'utilisais souvent l'opérateur ternaire pour des affectations conditionnelles courtes, par exemple :
```cpp
int min = (a < b) ? a : b;
```
Mais en Go, un tel opérateur n'existe pas. Je comprends qu'on peut utiliser un if/else classique :
```go
var min int
if a < b {
min = a
} else {
min = b
}
```
Mais cela prend 4-5 lignes au lieu d'une. Pour des choses simples comme choisir une valeur ou formater une chaîne, cela semble trop lourd. Par exemple, je veux faire quelque chose comme :
```go
fmt.Println("Result: " + (score > 50 ? "Pass" : "Fail"))
```
Ou assigner une valeur en fonction d'une condition dans un return :
```go
return (isValid ? data : defaultValue)
```
Comment faire cela correctement en Go ? Existe-t-il une manière idiomatique de raccourcir ces constructions ? Y a-t-il des fonctions intégrées ou des patterns ? Je serais reconnaissant pour des exemples de code.
<<>>