Мои познания в Golanh, уперлись в то, что называется switch case. Кто мне может рассказать, об этом? Просто я уперся в golang switch case и не знаю что делать дальше.
Оператор switch создан для организации выбора из множества различных вариантов. Такой себе переключатель, в вашем коде.
Switch существует для сравнения значения с другими. Пример golang:
package main
import (
"fmt"
)
func main() {
fmt.Println("Здесь вход в пещеру и путь на восток.")
var command = "зайти внутрь"
switch command { // Сравнивает case с command
case "идти на восток":
fmt.Println("Вы направляетесь к горе.")
case "зайти в пещеру", "зайти внутрь": // Запятая разделяет список возможных значений
fmt.Println("Вы находитесь в тускло освещенной пещере.")
case "прочитать знак":
fmt.Println("На знаке написано 'Несовершеннолетним вход запрещен'.")
default:
fmt.Println("Пока не совсем понятно.")
}
}
В результате программа выдаст:
1 Здесь вход в пещеру и путь на восток.
2 Вы находитесь в тускло освещенной пещере.
Вот еще один пример, работы golang switch
package main
import (
"fmt"
)
func main() {
var room = "озеро"
switch { // Выражения для каждого случая
case room == "пещера":
fmt.Println("Вы находитесь в тускло освещенной пещере.")
case room == "озеро":
fmt.Println("Лед кажется достаточно крепким.")
fallthrough // Переходит на следующий случай
case room == "глубина":
fmt.Println("Вода такая холодная, что сводит кости.")
}
}
Если нет условия, то он будет как switch true
package main
import (
"fmt"
"time"
)
func main() {
t := time.Now()
switch {
case t.Hour() < 12:
fmt.Println("Good morning!")
case t.Hour() < 17:
fmt.Println("Good afternoon.")
default:
fmt.Println("Good evening.")
}
}