Go - 결정 제작
Go에서의 결정 제작 소개
안녕하세요, 미래의 Go 프로그래머 여러분! 오늘 우리는 프로그래밍에서 가장 중요한 부분 중 하나인 결정 제작에 대해 배울 것입니다. 실제 생활과 마찬가지로, 우리의 프로그램은 특정 조건에 따라 선택을 해야 합니다. Go에서는 이러한 결정을 구현하기 위한 여러 가지 도구를 사용할 수 있습니다. 이 흥미로운 여정을 함께 시작해 보겠습니다!
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.")
}
}
이 프로그램은 age
와 hasLicense
를 확인하여 운전할 수 있는지 결정합니다.
결론
결정 제작은 프로그래밍의 기본 개념 중 하나이며, Go는 이를 구현하기 위한 강력한 도구를 제공합니다. 연습이 완벽을 만든다는 것을 기억하세요! if
, switch
, 그리고 다양한 조건 연산자를 사용한 자신의 프로그램을 만들어 보세요.
Go의 여정을 계속하면서, 이러한 구조를 자주 사용하게 될 것입니다. 이들은 프로그램의 논리를 만들어주는 기본 블록으로, 다양한 조건에 따라 지능적인 결정을 내리는 데 도움이 됩니다.
계속 코딩하고, 배우고, 가장 중요한 것은 Go를 즐기세요!
Credits: Image by storyset