Avatar ·

Équivalent de l'opérateur ternaire en Go : comment écrire une expression conditionnelle en une ligne ?

Bonjour à tous ! Je viens de commencer à apprendre Go après plusieurs années de travail avec Python et JavaScript. Dans ces langages, j'utilisais souvent l'opérateur ternaire pour des affectations conditionnelles compactes, par exemple : ```python status = "active" if user.is_logged_in else "inactive" ``` En Go, j'essaie de faire quelque chose de similaire : ```go package main import "fmt" func main() { age := 20 status := age >= 18 ? "adulte" : "enfant" fmt.Println(status) } ``` Mais le compilateur génère une erreur. Je comprends qu'il n'y a pas d'opérateur ternaire en Go, mais comment écrire élégamment une affectation conditionnelle simple sans gonfler le code ? J'ai essayé avec if-else, mais cela prend 4-5 lignes au lieu d'une. Existe-t-il une manière idiomatique de le faire de façon concise ? Peut-être y a-t-il un mécanisme intégré ou une pratique courante parmi les développeurs Go ? Merci d'avance pour votre aide ! <<>>

Pourquoi Go n'a pas d'opérateur ternaire et quoi utiliser à la place

Go est un langage créé avec un accent sur