Gauntlet Documentation
  • 🏠Welcome
  • πŸ…Getting Started
    • 🧠Introduction To Gauntlet
  • ‼️Read before Proceeding
  • ⬇️Installation
  • πŸ‘¨β€πŸ’»VSCode Extension
  • πŸ“šBasics
    • πŸ’¨Running Gauntlet
    • πŸ“„File Setup & Hello World
  • πŸ” Scope Variables
  • πŸ–ΌοΈConstants
  • 🧩Functions
  • ↔️If Statements
  • πŸ”‘Ternary Operator
  • πŸ’ Switch-Case
  • πŸ“©Select-Case
  • ➰Loops
  • πŸ“Structs
  • 🧱Interfaces
  • πŸͺͺAliases
  • πŸ“ŽMethods
  • πŸ¦™Lambdas
  • πŸ•ΈοΈMiscellaneous
  • ⚑Advanced Features
    • πŸ”€When-Cases
    • 🚰Pipes
    • ⁉️Try-Statements
    • 🎭Force-Statements
    • 🌯Wrapper Types
Powered by GitBook
On this page
  • Switch-Case Syntax (Expressions)
  • Switch-Case Syntax (Types)
  • Working Example
Export as PDF

Switch-Case

Switch-Case Syntax (Expressions)

switch <expr> {
    case <expr> : {
        <case body>
    }
    case <expr> : {
        <case body>
    }
    // The default case is optional
    default : {
        <default case body>
    }
}

Switch-Case Syntax (Types)

switch typeof <expr> {
    case <Type> : {
        <case body>
    }
    case <Type> : {
        <case body>
    }
    // The default case is optional
    default : {
        <default case body>
    }
}

Working Example

package main

import "fmt" as fmt

fun Unit main() {
  let result = (1 + 2) - 1 
  fmt.println("Evaluating the result of (1 + 2) - 1 ...")
  switch result {
    case 1: {
      fmt.println("It's one")
    }
    case 2: {
      fmt.println("It's two")
    }
    case 3: {
      fmt.println("It's three")
    }
    default: {
      fmt.println("It's not one, two, or three.")
    }
  }

  fmt.println("And also...")
  
  let Any a = 1

  switch typeof a {
    case String: {
      fmt.println("1 is a String!")
    }
    case Int: {
      fmt.println("1 is an Int!")
    }
  }

}
package main

import fmt "fmt"

func main() {
	result := (1 + 2) - 1
	fmt.Println("Evaluating the result of (1 + 2) - 1 ...")
	switch result {
	case 1:
		{
			fmt.Println("It's one")
		}
	case 2:
		{
			fmt.Println("It's two")
		}
	case 3:
		{
			fmt.Println("It's three")
		}
	default:
		{
			fmt.Println("It's not one, two, or three.")
		}
	}
	fmt.Println("And also...")
	var a any = 1
	switch a.(type) {
	case string:
		{
			fmt.Println("1 is a String!")
		}
	case int:
		{
			fmt.Println("1 is an Int!")
		}

	}
	// Eliminates any 'unused variable' errors
	_, _ = a, result

}
Evaluating the result of (1 + 2) - 1 ...
It's two
And also...
1 is an Int!
PreviousTernary OperatorNextSelect-Case

Last updated 8 days ago

πŸ’