Language 10 of 10 · Topic 0.5

Control Flow: If with Short Initializer & Switch (No Break Needed)

1Concept

Go supports if statements with local initializers: if err := run(); err != nil. Switch cases in Go do NOT fall through by default (no break required).

2Architecture Diagram

if val, ok := map[key]; ok {
    // val exists only inside this if-block!
}

3Code Example

Stage 0 Language Foundations
package main

import "fmt"

func getStatus() (int, string) {
    return 200, "OK"
}

func main() {
    // If with initializer
    if code, msg := getStatus(); code == 200 {
        fmt.Printf("Server Status %d: %s\n", code, msg)
    }

    // Switch statement (No break required)
    role := "ADMIN"
    switch role {
    case "ADMIN":
        fmt.Println("Full administrative access.")
    case "USER", "GUEST":
        fmt.Println("Standard access.")
    default:
        fmt.Println("No access.")
    }
}

4Expected Output

Server Status 200: OK
Full administrative access.

5Key Takeaways

  • if-initializers keep error check variables localized.
  • Go switch cases terminate automatically without needing break.
  • Use fallthrough explicitly if fallthrough behavior is desired.