No Go n'a pas d'opérateur ternaire, en utilisant la syntaxe if / else est la manière idiomatique. Pourquoi Go n'a-t-il pas l'opérateur? :? Il n'y a aucune opération de test ternaire dans Go. Vous pouvez utiliser les éléments suivants pour obtenir le même résultat: if expr { n = trueVal} else { n = falseVal} La raison? : est absente de Go est que les concepteurs du langage avaient vu l'opération utilisée trop souvent pour créer des expressions d'une complexité impénétrable. La if-else forme, bien que plus longue, est incontestablement plus claire. Un langage n'a besoin que d'une seule construction de flux de contrôle conditionnel. Opérateur ternaire php. - Foire aux questions (FAQ) - Le langage de programmation Go Supposons que vous ayez l'expression ternaire suivante (en C): int a = test? 1: 2; L'approche idiomatique dans Go serait d'utiliser simplement un if bloc: var a int if test { a = 1} else { a = 2} Cependant, cela pourrait ne pas correspondre à vos besoins. Dans mon cas, j'avais besoin d'une expression en ligne pour un modèle de génération de code.
Opérateur logique en PHP #include int main() { int x = 1; short int i = 2; float f = 3; if (sizeof((x == 2)? f: i) == sizeof(float)) printf('float\n'); else if (sizeof((x == 2)? f: i) == sizeof(short int)) printf('short int\n');} La sortie est "float". Alors je ne comprends pas pourquoi sizeof((x==2)? f:i) toujours revenir 4. Je pense qu'il manque une variable à la déclaration (x==2)? f:i; Mais ça revient toujours 4(sizeof(f)). Pouvez-vous m'aider! C'est le premier langage de programmation que j'apprends. Opérateur ternaire c.s. Je connais cette question très stupide mais avec moi très difficile. Merci de passer votre temps:) Bonne journée;) Et la première fois que j'essaye d'utiliser Stackoverflow, j'ai peut-être des erreurs. J'espère que tu me pardonnes L'expression a? b: c a une type défini qui ne dépend pas de a: cela ne dépend que de b et c et cela une type, est déterminé au moment de la compilation. 0? 42: 3. 14 a le type double et valeur 3. 14, 1? 42: 3. 14 a le type double et valeur 42. 0 Tout cela est clair, mais je me demande toujours ce que l'OP veut à réaliser... j'ai brièvement pensé que je le savais, mais..
Une raison utile pour choisir une priorité basse est que cela signifie que l'opérateur fonctionne comme une construction if.. Opérateur ternaire. then.. else.. sans accolades, ce qui peut signifier moins de travail pour les écrivains du compilateur (qui pourraient utiliser le même code pour gérer les deux), et une refactorisation simple par des codeurs qui comprennent la priorité. En pratique, le langage a probablement standardisé quelle que soit la priorité qui était l'utilisation la plus populaire dans le code écrit à l'ère de la pré-standardisation..
Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre. Opérateur ternaire en C - C. En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet. Au lieu de déterrer un sujet il est préférable: soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message" soit de créer un nouveau sujet décrivant votre propre contexte ne pas répondre à un déterrage et le signaler à la modération Je ferme ce sujet. En cas de désaccord, me contacter par MP.