Golang Switch Case

Golang Switch Case
Un caso di interruttore nella programmazione si riferisce a un meccanismo di controllo della selezione che consente di eseguire istruzioni specifiche in base alle diverse azioni. In poche parole, è un modo più semplice ed efficiente di scrivere più dichiarazioni if-else.

Questa guida esaminerà come possiamo utilizzare le istruzioni di switch usando il linguaggio di programmazione Go.

Dichiarazione di switch

Un'istruzione switch consente al programma di decidere l'azione da intraprendere in base alle opzioni in modo selettivo.

Prima di applicare le dichiarazioni di switch in GO, esaminiamo un esempio di come realizzare un'attività simile usando un'istruzione IF ... else.

Considera il programma di esempio di seguito:

Pacchetto principale
Importa "FMT"
func main ()
db: = "mysql"
ifdb == "sqlite"
fmt.Println ("porta: nessuno")
elseifdb == "SQL Server"
fmt.Println ("porta: 1433")
elseifdb == "MongoDB"
fmt.Println ("porta: 27017")
elseifdb == "mysql"
fmt.Println ("porta: 3306")
altro
fmt.Println ("database non supportato!")

Nell'esempio sopra, creiamo una variabile chiamata DB per archiviare una stringa contenente il database. Usiamo quindi un'istruzione IF per verificare se il valore della variabile DB è uguale a "sqlite" se vero, stampare la porta in esecuzione per il server di database.

Si noti che implementiamo molte dichiarazioni di altri-if per verificare ogni potenziale risultato.

Sebbene il codice sopra funzioni, non è molto leggibile e contiene righe quasi duplicate.

Per pulire e organizzare il codice sopra, possiamo utilizzare un'istruzione switch.

In GO, creiamo un'istruzione switch utilizzando la parola chiave Switch, seguita dalla variabile che per confrontare vari risultati.

Creiamo quindi un blocco del caso che definisce l'azione in base al risultato.

Per esempio:

packagemain
Importa "FMT"
funcmain ()
db: = "mysql"
switch db
Caso "sqlite":
fmt.Println ("porta: nessuno")
Caso "SQL Server":
fmt.Println ("porta: 1433")
Caso "MongoDB":
fmt.Println ("porta: 27017")
Caso "mysql":
fmt.Println ("porta: 3306")
predefinito:
fmt.Println ("database non supportato!")

Iniziamo chiamando la parola chiave Switch, seguita dalla variabile, per confrontare.

Quindi implementiamo le dichiarazioni di switch per verificare i casi di corrispondenza. Se un caso valuta True, eseguiamo quel blocco.

Aggiungiamo anche un caso predefinito che viene utilizzato come un'affermazione else. Ciò esegue se nessuno dei casi definiti valuta al vero.

Caso Controlla multiplo

Puoi avere un'istruzione Case che controlla più di un valore. Ad esempio, considera il codice di esempio seguente

Caso "Mysql", "Apache":
fmt.Println ("porta: 3306")
fmt.Println ("porta: 80")

Controlliamo se il caso è "mysql" o "apache" nell'esempio sopra. Se vero, eseguiamo il blocco di codice all'interno dell'istruzione Caso.

Sfumare

Possiamo usare la parola chiave in autunno per trasferire il controllo al caso successivo. Se il compilatore incontra la parola chiave autoporta. Per esempio:

switchdb
Caso "sqlite":
fmt.Println ("porta: nessuno")
sfumare

Qui, il compilatore uscirà dal primo caso quando incontrerà la parola chiave in autunno.

NOTA: tutto il codice che viene dopo la parola chiave in autunno (all'interno del blocco del caso) non verrà eseguita. Pertanto, assicurarsi che l'istruzione Switch sia l'ultima parte del blocco del caso.

Passa con operatori condizionali

Possiamo utilizzare un'istruzione switch con operatori condizionali. Considera l'esempio seguente:

età: = 22
interruttore
Case Age <= 18&& age = 25&& age <= 35:
fmt.Println ("prezzo: $ 15")
Case Age = 45:
fmt.Println ("prezzo: $ 20")
predefinito:
fmt.Println ("Out of Age Bound")

Si noti che non includiamo la variabile dopo la parola chiave Switch. Creiamo confronti logici per ciascun blocco del caso ed eseguiamo le condizioni specifiche se vere.

Chiusura

Questa guida ha coperto le basi del lavoro con le dichiarazioni di switch in Go. Utilizzando uno switch, è possibile creare confronti per casi specifici e agire se un'azione è vera.