Golang Switch Case

Golang Switch Case
En bryteresak i programmering refererer til en valgkontrollmekanisme som lar deg utføre spesifikke instruksjoner basert på de forskjellige handlingene. Enkelt sagt, det er en enklere og mer effektiv måte å skrive flere if-ests-uttalelser.

Denne guiden vil se på hvordan vi kan bruke Switch -setninger ved hjelp av Go -programmeringsspråket.

GO SWITCH -setning

En bryterklæring lar programmet bestemme handlingen å ta basert på alternativene selektivt.

La oss se på et eksempel på hvordan vi bruker en lignende oppgave ved å bruke en IF… ellers uttalelse før du bruker Switch -setninger.

Tenk på eksempelprogrammet nedenfor:

pakkehoved
Importer "FMT"
func main ()
db: = "mysql"
ifdb == "sqlite"
fmt.Println ("Port: Ingen")
elseifdb == "SQL Server"
fmt.Println ("Port: 1433")
elseifdb == "mongodb"
fmt.Println ("Port: 27017")
elseifdb == "mysql"
fmt.Println ("Port: 3306")
annet
fmt.Println ("Database støttes ikke!")

I eksemplet over lager vi en variabel kalt DB for å lagre en streng som inneholder databasen. Vi bruker deretter en IF -uttalelse for å sjekke om verdien på DB -variabelen er lik "SQLite" hvis det er sant, skriv ut kjøreporten for databaseserveren.

Legg merke til at vi implementerer mange andre-hvis-uttalelser for å sjekke for hvert potensielt utfall.

Selv om koden ovenfor fungerer, er den ikke veldig lesbar og inneholder nærduplikatlinjer.

For å rengjøre og organisere koden ovenfor, kan vi bruke en bryterklæring.

I GO oppretter vi en Switch -setning ved hjelp av Switch -nøkkelordet, etterfulgt av variabelen som for å sammenligne forskjellige utfall.

Vi oppretter deretter en saksblokk som definerer handlingen basert på utfallet.

For eksempel:

Packagemain
Importer "FMT"
FUNCMAIN ()
db: = "mysql"
bytt db
sak "sqlite":
fmt.Println ("Port: Ingen")
sak "SQL Server":
fmt.Println ("Port: 1433")
sak "Mongodb":
fmt.Println ("Port: 27017")
sak "mysql":
fmt.Println ("Port: 3306")
misligholde:
fmt.Println ("Database støttes ikke!")

Vi starter med å ringe Switch -nøkkelordet, etterfulgt av variabelen, for å sammenligne.

Vi implementerer deretter Switch -uttalelser for å se etter matchende saker. Hvis en sak evaluerer til sann, utfører vi den blokken.

Vi legger også til en standardkasse som brukes som en annen uttalelse. Dette utføres hvis ingen av de definerte sakene evaluerer til sann.

Saksjekk flere

Du kan ha en saksuttalelse som sjekker for mer enn en verdi. Vurder for eksempel eksemplet kode nedenfor

sak "mysql", "apache":
fmt.Println ("Port: 3306")
fmt.Println ("Port: 80")

Vi sjekker om saken enten er "mysql" eller "apache" i eksemplet ovenfor. Hvis det er sant, utfører vi kodeblokken i sakserklæringen.

Faller gjennom

Vi kan bruke det fall gjennom nøkkelordet til å overføre kontrollen til neste tilfelle. Hvis kompilatoren møter fallt gjennom nøkkelordet, flytter den ut av den nåværende bryterklæringen og går til neste. For eksempel:

switchDB
sak "sqlite":
fmt.Println ("Port: Ingen")
faller gjennom

Her vil kompilatoren avslutte den første saken når den møter fallt gjennom nøkkelordet.

Merk: All koden som kommer etter fallt gjennom nøkkelordet (inne i sakblokken) vil ikke kjøre. Sørg derfor for at bryterklæringen er den siste delen av saksblokken.

Bytt med betingede operatører

Vi kan bruke en bryterklæring med betingede operatører. Tenk på eksemplet nedenfor:

Alder: = 22
bytte om
sak Alder <= 18&& age = 25&& age <= 35:
fmt.Println ("Pris: $ 15")
Casealder = 45:
fmt.Println ("Pris: $ 20")
misligholde:
fmt.Println ("Out of Age Bound")

Merk at vi ikke inkluderer variabelen etter nøkkelordet. Vi skaper logiske sammenligninger for hver sakblokk og utfører de spesifikke forholdene hvis de er sann.

Lukking

Denne guiden dekket det grunnleggende om å jobbe med Switch -setninger i Go. Ved hjelp av en bryter kan du opprette sammenligninger for spesifikke tilfeller og iverksette tiltak hvis en handling er sann.