typestar

switch en Odin

Dos switch: uno sobre un valor con listas y rangos, uno pelado como escalera if-else.

package main

import "core:fmt"

main :: proc() {
    // switch breaks by default; cases take lists and ranges.
    switch cloud_eighths := 3; cloud_eighths {
    case 0, 1, 2: fmt.println("clear enough to sail")
    case 3..=5:   fmt.println("broken cloud, watch it")
    case:         fmt.println("overcast, compass out")
    }

    // A bare switch is a cleaner if-else ladder.
    depth := 42
    switch {
    case depth <= 10: fmt.println("snorkel water")
    case depth <= 40: fmt.println("open-water dive")
    case:             fmt.println("plan your stops")
    }
}

Cómo funciona

  1. switch cloud_eighths := 3; cloud_eighths acota su sujeto como lo hace if.
  2. Los case toman listas (0, 1, 2) y rangos (3..=5), y cortan por defecto.
  3. Un switch pelado con case booleanos se lee más limpio que una escalera de else-if.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
20
Caracteres a escribir
522
Tokens
103
Ritmo de tres estrellas
70 tpm

Al ritmo de tres estrellas de 70 tokens por minuto, este intento toma unos 88 segundos.

Escribe este fragmento

Paso 3 de 3 en Control de flujo; paso 6 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →

switch en otros lenguajes