Go - 결정 제작

Go에서의 결정 제작 소개

안녕하세요, 미래의 Go 프로그래머 여러분! 오늘 우리는 프로그래밍에서 가장 중요한 부분 중 하나인 결정 제작에 대해 배울 것입니다. 실제 생활과 마찬가지로, 우리의 프로그램은 특정 조건에 따라 선택을 해야 합니다. Go에서는 이러한 결정을 구현하기 위한 여러 가지 도구를 사용할 수 있습니다. 이 흥미로운 여정을 함께 시작해 보겠습니다!

Go - Decision Making

If 문: 결정 제작의 기본 블록

문법과 구조

if 문은 Go에서 결정 제작의 기본입니다. 특정 조건이 참이면 코드 블록을 실행할 수 있게 해줍니다. 기본 구조는 다음과 같습니다:

if 조건 {
// 조건이 참이면 실행할 코드
}

간단한 예제를 보겠습니다:

package main

import "fmt"

func main() {
age := 18

if age >= 18 {
fmt.Println("You are eligible to vote!")
}
}

이 예제에서 우리는 age가 18이상인지 확인하고, 그렇다면 메시지를 출력합니다. 이 코드를 실행하면 18이 실제로 18이상이므로 메시지가 출력됩니다!

Else 절 추가

조건이 거짓이면 무언가를 수행하고 싶다면 else 절을 사용할 수 있습니다:

package main

import "fmt"

func main() {
age := 16

if age >= 18 {
fmt.Println("You are eligible to vote!")
} else {
fmt.Println("Sorry, you're too young to vote.")
}
}

이제 age가 16이므로, 18보다 작기 때문에 else 블록의 메시지가 출력됩니다.

If-Else If-Else 체인

때로는 여러 조건을 확인해야 합니다. if-else 문을 이렇게 체인으로 연결할 수 있습니다:

package main

import "fmt"

func main() {
score := 75

if score >= 90 {
fmt.Println("A grade")
} else if score >= 80 {
fmt.Println("B grade")
} else if score >= 70 {
fmt.Println("C grade")
} else {
fmt.Println("Need improvement")
}
}

이 프로그램은 score를 확인하고 해당 등급을 출력합니다. 75점의 경우 "C grade"가 출력됩니다.

Switch 문: 다중 경로 결정 제작자

여러 조건을 확인할 때, 특히 동일한 변수를 확인할 때 switch 문을 사용하면 코드가 더 깨끗하고 효율적이 됩니다.

기본 Switch 문법

package main

import "fmt"

func main() {
day := "Monday"

switch day {
case "Monday":
fmt.Println("It's the start of the work week!")
case "Friday":
fmt.Println("TGIF!")
default:
fmt.Println("It's a regular day.")
}
}

이 예제에서 day의 값을 확인하고 해당 케이스에 따라 실행합니다. 다른 케이스와 일치하지 않으면 default 케이스가 실행됩니다.

여러 케이스 그룹화

여러 케이스를 함께 그룹화할 수도 있습니다:

package main

import "fmt"

func main() {
day := "Saturday"

switch day {
case "Monday", "Tuesday", "Wednesday", "Thursday", "Friday":
fmt.Println("It's a weekday.")
case "Saturday", "Sunday":
fmt.Println("It's the weekend!")
default:
fmt.Println("Invalid day.")
}
}

이 코드는 토요일인 경우 "It's the weekend!"를 출력합니다.

표현식이 없는 Switch

Go는 표현식이 없는 switch를 허용하며, 이는 긴 if-else 체인의 대안으로 사용할 수 있습니다:

package main

import "fmt"

func main() {
score := 85

switch {
case score >= 90:
fmt.Println("A grade")
case score >= 80:
fmt.Println("B grade")
case score >= 70:
fmt.Println("C grade")
default:
fmt.Println("Need improvement")
}
}

이 코드는 85점이므로 "B grade"를 출력합니다.

조건 연산자

우리의 조건을 더 강력하게 만들기 위해 조건 연산자를 사용합니다. 가장 흔한 연산자 목록을 아래에 나열했습니다:

연산자 설명 예제
== 동등 a == b
!= 불 동등 a != b
< 작다 a < b
> 크다 a > b
<= 작거나 동등 a <= b
>= 크거나 동등 a >= b
&& 논리 AND a && b
|| 논리 OR a || b
! 논리 NOT !a

이제 이들을 실제로 사용해 보겠습니다:

package main

import "fmt"

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

if age >= 18 && hasLicense {
fmt.Println("You can drive a car!")
} else if age >= 18 && !hasLicense {
fmt.Println("You're old enough, but you need a license.")
} else {
fmt.Println("You're too young to drive.")
}
}

이 프로그램은 agehasLicense를 확인하여 운전할 수 있는지 결정합니다.

결론

결정 제작은 프로그래밍의 기본 개념 중 하나이며, Go는 이를 구현하기 위한 강력한 도구를 제공합니다. 연습이 완벽을 만든다는 것을 기억하세요! if, switch, 그리고 다양한 조건 연산자를 사용한 자신의 프로그램을 만들어 보세요.

Go의 여정을 계속하면서, 이러한 구조를 자주 사용하게 될 것입니다. 이들은 프로그램의 논리를 만들어주는 기본 블록으로, 다양한 조건에 따라 지능적인 결정을 내리는 데 도움이 됩니다.

계속 코딩하고, 배우고, 가장 중요한 것은 Go를 즐기세요!

Credits: Image by storyset