Go - Принятие решений

Введение в принятие решений в Go

Здравствуйте, будущий программист на Go! Сегодня мы погружаемся в один из самых важных аспектов программирования: принятие решений. Точно так же, как в реальной жизни, наши программы должны принимать решения на основе определенных условий. В Go у нас есть несколько инструментов для реализации этих решений. Давайте отправимся в это захватывающее путешествие вместе!

Go - Decision Making

Оператор if: Основной строительный блок

Синтаксис и структура

Оператор if является основой для принятия решений в Go. Он позволяет нам выполнять блок кода только если определенное условие является истинным. Вот базовая структура:

if условие {
// код для выполнения, если условие истинно
}

Давайте рассмотрим простой пример:

package main

import "fmt"

func main() {
age := 18

if age >= 18 {
fmt.Println("Вы имеете право голосовать!")
}
}

В этом примере мы проверяем, достиг ли age 18 лет. Если да, мы выводим сообщение. Запустите этот код, и вы увидите сообщение, потому что 18 действительно больше или равно 18!

Добавление歌剧 else

Что делать, если мы хотим что-то сделать, когда условие ложно? Вот где comes вOpera else:

package main

import "fmt"

func main() {
age := 16

if age >= 18 {
fmt.Println("Вы имеете право голосовать!")
} else {
fmt.Println("Извините, вам слишком年轻 для голосования.")
}
}

Теперь, поскольку age равен 16, что меньше 18, программа выведет сообщение из блока else.

Цепочка if-else if-else

Иногда нам нужно проверить несколько условий. Мы можем цепочкой использовать if-else语句 следующим образом:

package main

import "fmt"

func main() {
score := 75

if score >= 90 {
fmt.Println("Оценка A")
} else if score >= 80 {
fmt.Println("Оценка B")
} else if score >= 70 {
fmt.Println("Оценка C")
} else {
fmt.Println("Нужны улучшения")
}
}

Эта программа проверяет score и выводит соответствующую оценку. При score 75 она выведет "Оценка C".

Оператор switch: МногостороннийDecision Maker

Когда у вас есть несколько условий для проверки, особенно если они все проверяют одну и ту же переменную, оператор switch может сделать ваш код чище и эффективнее.

Базовый синтаксис switch

package main

import "fmt"

func main() {
day := "Monday"

switch day {
case "Monday":
fmt.Println("Это начало рабочей недели!")
case "Friday":
fmt.Println("TGIF!")
default:
fmt.Println("Это обычный день.")
}
}

В этом примере мы проверяем значение day и выполняем соответствующий случай. Оператор default выполняется, если none из других случаев не совпадает.

Switch с несколькими случаями

Вы также можете grouping несколько случаев вместе:

package main

import "fmt"

func main() {
day := "Saturday"

switch day {
case "Monday", "Tuesday", "Wednesday", "Thursday", "Friday":
fmt.Println("Это будний день.")
case "Saturday", "Sunday":
fmt.Println("Это выходной!")
default:
fmt.Println("Некорректный день.")
}
}

Этот код выведет "Это выходной!" потому что суббота является одним из выходных дней.

Switch без выражения

Go позволяет использовать switch без выражения, что может быть использовано вместо длинных цепочек if-else:

package main

import "fmt"

func main() {
score := 85

switch {
case score >= 90:
fmt.Println("Оценка A")
case score >= 80:
fmt.Println("Оценка B")
case score >= 70:
fmt.Println("Оценка C")
default:
fmt.Println("Нужны улучшения")
}
}

Этот код выведет "Оценка B" потому что 85 больше или равно 80.

Условные операторы

Чтобы сделать наши условия более мощными, мы используем условные операторы. Вот таблица самых распространенных:

Оператор Описание Пример
== Равно a == b
!= Не равно a != b
< Меньше a < b
> Больше a > b
<= Меньше или равно a <= b
>= Больше или равно a >= b
&& Логическое И a && b
|| Логическое ИЛИ a || b
! Логическое НЕ !a

Давайте посмотрим, как они работают:

package main

import "fmt"

func main() {
age := 25
hasLicense := true

if age >= 18 && hasLicense {
fmt.Println("Вы можете водить машину!")
} else if age >= 18 && !hasLicense {
fmt.Println("Вы достаточно взрослые, но вам нужно водительское удостоверение.")
} else {
fmt.Println("Вы слишком молоды для вождения.")
}
}

Эта программа проверяет как age, так и hasLicense, чтобы определить, может ли человек водить.

Заключение

Принятие решений является фундаментальным conceptом в программировании, и Go предоставляет нам мощные инструменты для его реализации. Помните, что практика делает мастера! Попробуйте создать свои собственные программы, используя if, switch и различные условные операторы.

Пока вы продолжаете свое путешествие в Go, вы обнаружите, что часто используете эти constructы. Они являются строительными блоками логики в ваших программах, помогая вашему коду принимать聪明的 решения на основе различных условий.

Продолжайте программировать, продолжайте учиться и, самое главное, получайте удовольствие от Go!

Credits: Image by storyset