# Ternary Operator

## Ternary operator syntax:

```
@<ReturnType> <test expr> ? <success value> : <failure value>
```

## Working Example

{% tabs %}
{% tab title="Gauntlet" %}
```fsharp
package main

import "fmt" as fmt
import "strconv" as strconv

fun main(): Unit {
  let isProgrammer = true
  let mood = @String isProgrammer ? "depressed" : "happy"
  fmt.println("Because it is " + strconv.formatBool(isProgrammer) + " that I am a programmer, I am " + mood)
}
```
{% endtab %}

{% tab title="Transpiled" %}
```go
package main

import fmt "fmt"
import strconv "strconv"

func main() {
	isProgrammer := true
	mood := (func() string {
		if isProgrammer {
			return "depressed"
		}
		return "happy"
	})()
	fmt.Println("Because it is " + strconv.FormatBool(isProgrammer) + " that I am a programmer, I am " + mood)
	// Eliminates any 'unused variable' errors
	_, _ = isProgrammer, mood

}

```
{% endtab %}

{% tab title="Output" %}
```
Because it is true that I am a programmer, I am depressed
```
{% endtab %}
{% endtabs %}

