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

If you have a question, put $5 at patreon and message me.

Golang

  1. Compile, Run
  2. Source Encoding
  3. Package, Import
  4. Comment
  5. Print
  6. String
  7. Print String
  8. String Backslash Escape
  9. Rune
  10. Variable
  11. Zero Value
  12. Constant
  13. If Then Else
  14. Switch/Case
  15. Loop
  16. Basic Types
  17. Array
  18. Slice
  19. Map
  20. Struct
  21. Function
  22. Pointer
  23. String, Byte Slice, Rune Slice
  24. regexp
  25. Read File
  26. Write to File
  27. Walk Dir
  28. Check File Exist
  29. System Call
  30. Get Script Path
  31. Defer
  32. Random Number

Examples

  1. Match Any Regexp
  2. Find Replace
  3. Validate Links
  4. Generate Sitemap

Reference

  1. Go Spec