목차
- Go 조건문 소개
- if 조건문
- if...else... 조건문
- if...else if... 조건문
- if...else if...else... 조건문
- 안긴 if 조건문 (= 중첩 if문)
Go 조건문 소개
각 조건에 따라 다른 작업 수행시킬 때 사용.
1.
조건은 참(true) / 거짓(false) 2가지로 판별.
2.
수학연산자/논리연산자 결합해 다양한 조건 정의 가능.
- 수학연산자: <, <=, >, >=, ==, !=
- 논리연산자: &&, ||, !
3.
Go에는 크게 if 조건문과 switch 조건문 존재.
if 조건문
해당 조건이 충족되면 실행.
[구문]
if condition {
// 조건이 참이면 실행할 코드
}
PS. if 키워드는 소문자로 기재. (If 또는 IF 경우 에러 발생)
[예제1] - 값끼리 비교
package main
import ("fmt")
func main() {
if 4 > 3 {
fmt.Println("참")
}
}
결과값: 참
[예제2] - 변수끼리 비교
package main
import ("fmt")
func main() {
x := 4
y := 3
if x>y {
fmt.Println("참")
}
}
결과값: 참
if...else... 조건문
if조건이 거짓일 시 실행할 코드 지정하려면, else 구문 사용.
만약, if조건이 참이면 else 쪽은 무시하고 다음 코드로 진행.
[구문]
if condition {
// if 조건이 참이면 실행할 코드
} else {
// if 조건이 거짓이면 실행할 코드
}
PS1. else 키워드는 소문자로 기재해야 함.
PS2. 「} else {」 부분은 한 줄에 입력해야 함. (※ 줄바꿈 시 에러 발생)
[예제1] - if 조건이 참이여서 if쪽 코드 실행
package main
import ("fmt")
func main() {
hour := 9
if hour < 12 {
fmt.Println("오전")
} else {
fmt.Println("오후")
}
}
결과값: 오전
[예제2] - if 조건이 거짓이여서, else쪽 코드 실행
package main
import ("fmt")
func main() {
hour := 20
if hour < 12 {
fmt.Println("오전")
} else {
fmt.Println("오후")
}
}
결과값: 오후
[예제3] - } else { 구문이 같은 줄이 아니라서 에러 발생
package main
import ("fmt")
func main() {
hour := 20
if hour < 12 {
fmt.Println("오전")
}
else {
fmt.Println("오후")
}
}
결과값:
# command-line-arguments
.\homzzang.go:9:3: syntax error: unexpected else, expecting }
if...else if... 조건문
우선 순위 조건을 나열할 때 사용.
[구문]
if condition1 {
// condition1 조건이 참이면 실행
} else if condition2 {
// condition1 조건이 거짓이고 condition2 조건이 참이면 실행
}
PS1. else if 조건문 구절을 여러 개 올 수 있음.
PS2. if와 else if 조건 모두 거짓일 시 아무 것도 실행 안 됨.
PS3. if와 else if 모두 거짓일 시 실행코드 지정하려면, else 구절 추가.
[예제]
package main
import ("fmt")
func main() {
hour := 15
if hour < 12 {
fmt.Println("오전")
} else if hour < 18 {
fmt.Println("오후")
}
}
결과값: 오후
if...else if...else... 조건문
if condition1 {
// condition1 조건이 참이면 실행
} else if condition2 {
// condition1 조건이 거짓이고 condition2 조건이 참이면 실행
} else {
// if 및 else if 조건이 모두 거짓일 때 실행
}
PS. if와 else if 조건들이 모두 참이면, if쪽 코드만 실행됨. (예제3)
[예제1] - 시간을 기준으로 (오전/오후/저녁) 판별
package main
import ("fmt")
func main() {
hour := 20
if hour < 12 {
fmt.Println("오전")
} else if hour < 18 {
fmt.Println("오후")
} else {
fmt.Println("저녁")
}
}
결과값: 저녁
[예제2] - 두 수의 우열 비교
package main
import ("fmt")
func main() {
a := 3
b := 3
if a < b {
fmt.Println("a < b")
} else if a > b {
fmt.Println("a > b")
} else {
fmt.Println("a == b")
}
}
결과값: a == b
[예제3] - if 조건과 else if 조건이 모두 참이면, if 조건만 실행.
package main
import ("fmt")
func main() {
hour := 15
if hour >= 12 {
fmt.Println("오후")
} else if hour > 18 {
fmt.Println("저녁")
} else {
fmt.Println("오전")
}
}
결과값: 오후
안긴 if 조건문 (= 중첩 if문)
if 조건문 안에 if 조건문이 또 있는 경우에 해당.
(안팎의 if 조건문이 모두 참일때만 코드 실행함.)
[구문]
if condition1 {
// condition1이 참이면 실행할 코드
if condition2 {
// condition1과 condition2 모두 참이면 실행할 코드
}
}
[예제]
package main
import ("fmt")
func main() {
hour := 20
if hour >= 12 {
fmt.Println("오후")
if hour > 18 {
fmt.Println("저녁")
}
} else {
fmt.Println("오전")
}
}
결과값:
오후
저녁
최신댓글