Golang: if then else

By Xah Lee. Date: . Last updated: .

If

if test { body }

Note, there's no parenthesis after the “if”.

package main

import "fmt"

func main() {

	var x = 3

	if x < 0 {
		fmt.Println("yes")
	}

}

If else

if test { body1 } else { body2 }

package main

import "fmt"

func main() {

	var x = 3

	if x < 0 {
		fmt.Printf("no")
	} else {
		fmt.Printf("yes")
	}

}

else if

if test { body1 } else if { body2 } else { body3 }

package main

import "fmt"

func main() {

	var x = 3

	if x < 0 {
		fmt.Println(-1)
	} else if x > 0 {
		fmt.Println(1)
	} else {
		fmt.Println(0)
	}

}

If with a short statement

The if statement can start with a short statement to execute before the condition.

if i := -2; x < i { fmt.Println("no") }

Variables declared by the statement are in scope of the if block and all the else blocks.

package main

import "fmt"

func main() {

	var x = 3

	// if statement can start with a short statement
	if i := -2; x < i {
		fmt.Println("no")
	}

	fmt.Println("yes")

}

ternary if, if expression

There's no “if expression”, such as JavaScript's ( test ? expr1 : expr2 )

Reference

The Go Programming Language Specification - The Go Programming Language#If_statements

Golang

Examples

Reference