Declarație Switch în Go

Golang, ca majoritatea celorlalte limbaje de programare, are declarația switch . Declarația switch din Golang  vă permite să evaluați o variabilă sau o expresie în mai multe cazuri și este adesea folosită atunci când scrieți mai multe instrucțiuni if-else face ca codul să pară urât și repetitiv.

Declarație Switch în Go

În Go, instrucțiunea switch este o instrucțiune de ramificare multidirecțională care direcționează efectiv execuția pe baza valorii (sau tipului) unei expresii. Există două tipuri principale de declarații switch în Go :

  • Comutator de expresie
  • Tip comutator

De exemplu:

package main
import "fmt"

func main() {
    day := 4
    switch day {
    case 1:
        fmt.Println("Monday")
    case 2:
        fmt.Println("Tuesday")
    case 3:
        fmt.Println("Wednesday")
    case 4:
        fmt.Println("Thursday")
    case 5:
        fmt.Println("Friday")
    default:
        fmt.Println("Invalid day")
    }
}

Sintaxa instrucțiunii de comutare în Golang

switch optstatement; optexpression {
case expression1:
    // Khối code
case expression2:                                                          # Expression Switch
    // Khối code
default:
    // Khối code
}

switch var := interfaceValue.(type) {
case type1:
    // Khối code
case type2:                                                                    # Type Switch
    // Khối code
default:
    // Khối code
}

Comutator de expresie

Comutare expresie evaluează o expresie și comută la un caz pe baza valorii expresiei respective. Dacă nu este furnizată nicio expresie, comutatorul este implicit la true .

Sintaxă

switch optstatement; optexpression {
case expression1:
    // Khối code
case expression2:
    // Khối code
default:
    // Khối code
}

optstatement: instrucțiune opțională (de exemplu, declarație variabilă).
optexpression: expresie opțională (dacă este omisă, implicit este true ).

Exemplu cu comandă opțională

Aici se introduce o instrucțiune opțională care declară o variabilă de zi . Declarația switch evaluează apoi ziua în funcție de diferite cazuri.

package main
import "fmt"
func main() {
    switch day := 4; day {
    case 1:
        fmt.Println("Monday")
    case 2:
        fmt.Println("Tuesday")
    case 3:
        fmt.Println("Wednesday")
    case 4:
        fmt.Println("Thursday")
    case 5:
        fmt.Println("Friday")
    default:
        fmt.Println("Invalid day")
    }
}

Rezultat:

Thursday

Exemplu cu expresie opțională

Dacă nu este specificată nicio expresie, declarația switch din Golang va presupune că expresia este adevărată. Acest lucru ne permite să folosim condiții booleene în instrucțiunile case.

package main
import "fmt"

func main() {
    day := 4

    switch {
    case day == 1:
        fmt.Println("Monday")
    case day == 4:
        fmt.Println("Thursday")
    case day > 5:
        fmt.Println("Weekend")
    default:
        fmt.Println("Invalid day")
    }
}

Rezultat

Thursday

Tip comutator

Type Switch este folosit pentru a se ramifica pe tipul unei valori de interfață, mai degrabă decât pe valoarea acesteia. Acest lucru este util în special atunci când aveți de-a face cu variabile de tip necunoscut.

Sintaxă

switch var := interfaceValue.(type) {
case type1:
    // Khối code
case type2:
    // Khối code
default:
    // Khối code
}

De exemplu:

Acest exemplu folosește aceeași variabilă de zi , dar încapsulată în interfață{} pentru a ilustra proiectarea tipului.

package main
import "fmt"
func main() {
    var day interface{} = 4
    switch v := day.(type) {
    case int:
        switch v {
        case 1:
            fmt.Println("Monday")
        case 2:
            fmt.Println("Tuesday")
        case 3:
            fmt.Println("Wednesday")
        case 4:
            fmt.Println("Thursday")
        case 5:
            fmt.Println("Friday")
        default:
            fmt.Println("Invalid day")
        }
    default:
        fmt.Printf("Unknown type: %T\n", v)
    }
}

Rezultat:

Thursday

Lasă un comentariu

Afaceri secundare care chiar dau roade în 2026: 7 opțiuni realiste și compromisurile de știut

Afaceri secundare care chiar dau roade în 2026: 7 opțiuni realiste și compromisurile de știut

Compară activități secundare realiste pentru 2026 în funcție de costul de pornire, comisioane, flexibilitate și controlul veniturilor, cu îndrumări actuale privind impozitele și escrocheriile din surse oficiale.

Ergonomia muncii la distanță în 2026: Modernizați-vă biroul de acasă fără a cumpăra prea mult

Ergonomia muncii la distanță în 2026: Modernizați-vă biroul de acasă fără a cumpăra prea mult

Îmbunătățiți-vă ergonomia biroului de acasă cu îndrumările OSHA și NIOSH actuale privind potrivirea scaunului, înălțimea monitorului, configurarea laptopului, iluminarea și mișcarea.

De ce este importantă inteligența emoțională în leadership - și cum să o construim

De ce este importantă inteligența emoțională în leadership - și cum să o construim

Află de ce contează inteligența emoțională în leadership, unde ajută cel mai mult, cum să o consolidezi și cum să-ți dai seama dacă abordarea ta funcționează.

Cum să faci tranziția către o carieră în tehnologie fără diplomă: O foaie de parcurs axată pe rezultate pentru 2026

Cum să faci tranziția către o carieră în tehnologie fără diplomă: O foaie de parcurs axată pe rezultate pentru 2026

O foaie de parcurs practică pentru a intra în domeniul tehnologiei fără diplomă: alege un rol accesibil, dezvoltă abilități pregătite pentru angajare, demonstrează-le prin proiecte și folosește feedback-ul de la angajare pentru a te îmbunătăți.

Building a Personal Brand on LinkedIn in 2026: What Still Works, What Changed, and What to Ignore

Building a Personal Brand on LinkedIn in 2026: What Still Works, What Changed, and What to Ignore

Build a credible LinkedIn personal brand in 2026 with current profile, content, newsletter, analytics, verification, and visibility guidance from LinkedIn.

Demisii discrete vs. concedieri discrete în 2026: Ce se schimbă cu adevărat la locul de muncă

Demisii discrete vs. concedieri discrete în 2026: Ce se schimbă cu adevărat la locul de muncă

Demisiile discrete și concedierile discrete sunt etichete atrăgătoare, nu diagnostice. Aflați ce se verifică, ce depinde de context și ce pot face angajații și managerii în continuare.

Ascensiunea executivului fracțional: Când conducerea cu jumătate de normă în funcții de conducere are sens

Ascensiunea executivului fracțional: Când conducerea cu jumătate de normă în funcții de conducere are sens

Directorii executivi fracționari oferă funcții de conducere fără angajare cu normă întreagă. Învață când funcționează modelul, ce să ceri și riscurile de gestionat.

Cum să negociezi o mărire de salariu în timpul evaluărilor performanței din trimestrul 4: Un ghid practic pentru deciziile din 2026

Cum să negociezi o mărire de salariu în timpul evaluărilor performanței din trimestrul 4: Un ghid practic pentru deciziile din 2026

Pregătiți o cerere de mărire salarială mai convingătoare pentru trimestrul 4, incluzând date salariale actuale, opțiuni de sincronizare, compromisuri salariale și scenarii pentru rezultate afirmative, parțiale sau negative.

6 High-Income Skills You Can Start Learning Before 2026 Ends

6 High-Income Skills You Can Start Learning Before 2026 Ends

Choose a high-income skill you can realistically start before 2026 ends, with current pay data, learning priorities, and a practical self-check.

Stăpânirea programului de lucru hibrid: un cadru practic care chiar rezistă

Stăpânirea programului de lucru hibrid: un cadru practic care chiar rezistă

Construiește un program de lucru hibrid în jurul sarcinilor, suprapunerii echipei și rezultatelor măsurabile. Vezi modele, semne de avertizare și când să-ți ajustezi planul.