티스토리 뷰
Go 언어에서 조건문은 프로그램의 흐름을 제어하는 데 사용됩니다. 주로 if, else if, else, 그리고 switch 문을 사용하여 조건에 따라 코드 블록을 실행할 수 있습니다. Go의 조건문은 다른 많은 언어와 비슷하지만, 고유한 문법적 특성이 있습니다.
if 문
if 문은 조건이 참일 때 코드 블록을 실행합니다.
package main
import (
"fmt"
)
func main() {
x := 10
if x > 5 {
fmt.Println("x는 5보다 큽니다.")
} else {
fmt.Println("x는 5보다 작거나 같습니다.")
}
}
if-else 문
if 문과 else 문을 함께 사용하여 조건이 참일 때와 거짓일 때 각각 다른 코드 블록을 실행할 수 있습니다.
package main
import (
"fmt"
)
func main() {
x := 10
if x > 5 {
fmt.Println("x는 5보다 큽니다.")
} else {
fmt.Println("x는 5보다 작거나 같습니다.")
}
}
if-else if-else 문
여러 조건을 검사하고, 각 조건에 따라 다른 코드 블록을 실행할 수 있습니다.
package main
import (
"fmt"
)
func main() {
x := 10
if x > 15 {
fmt.Println("x는 15보다 큽니다.")
} else if x > 5 {
fmt.Println("x는 5보다 크고 15보다 작거나 같습니다.")
} else {
fmt.Println("x는 5보다 작거나 같습니다.")
}
}
초기화 문이 있는 if 문
if 문에서는 조건을 평가하기 전에 초기화 문을 사용할 수 있습니다. 초기화 문은 조건문 내에서만 유효한 변수를 선언하는 데 사용됩니다.
package main
import (
"fmt"
)
func main() {
if y := 20; y > 15 {
fmt.Println("y는 15보다 큽니다.")
}
// y 변수는 if 문 블록 바깥에서는 사용할 수 없습니다.
}
switch 문
switch 문은 다중 분기(multiple branches)를 처리할 때 유용합니다. 여러 값을 비교할 때 switch 문을 사용하면 코드가 더 깔끔해집니다.
package main
import (
"fmt"
)
func main() {
x := 2
switch x {
case 1:
fmt.Println("x는 1입니다.")
case 2:
fmt.Println("x는 2입니다.")
case 3:
fmt.Println("x는 3입니다.")
default:
fmt.Println("x는 1, 2, 3 중 하나가 아닙니다.")
}
}
여러 조건을 가진 switch 문
switch 문은 여러 조건을 동시에 검사할 수 있습니다. 콤마(,)를 사용하여 여러 값을 하나의 case에 나열할 수 있습니다.
package main
import (
"fmt"
)
func main() {
x := 2
switch x {
case 1, 2, 3:
fmt.Println("x는 1, 2, 3 중 하나입니다.")
default:
fmt.Println("x는 1, 2, 3 중 하나가 아닙니다.")
}
}
조건이 있는 switch 문
switch 문에서는 조건을 사용할 수도 있습니다. switch 뒤에 조건을 넣지 않고, 각 case에 조건을 넣어 사용할 수 있습니다.
package main
import (
"fmt"
)
func main() {
x := 10
switch {
case x < 5:
fmt.Println("x는 5보다 작습니다.")
case x >= 5 && x < 15:
fmt.Println("x는 5 이상 15 미만입니다.")
default:
fmt.Println("x는 15 이상입니다.")
}
}
예제 코드
다양한 조건문을 사용하는 예제 코드를 보겠습니다:
package main
import (
"fmt"
)
func main() {
x := 10
// if 문
if x > 5 {
fmt.Println("x는 5보다 큽니다.")
}
// if-else 문
if x < 5 {
fmt.Println("x는 5보다 작습니다.")
} else {
fmt.Println("x는 5보다 크거나 같습니다.")
}
// if-else if-else 문
if x < 5 {
fmt.Println("x는 5보다 작습니다.")
} else if x == 10 {
fmt.Println("x는 10입니다.")
} else {
fmt.Println("x는 5보다 크고 10은 아닙니다.")
}
// 초기화 문이 있는 if 문
if y := 20; y > 15 {
fmt.Println("y는 15보다 큽니다.")
}
// switch 문
switch x {
case 1:
fmt.Println("x는 1입니다.")
case 2:
fmt.Println("x는 2입니다.")
case 10:
fmt.Println("x는 10입니다.")
default:
fmt.Println("x는 1, 2, 10 중 하나가 아닙니다.")
}
// 여러 조건을 가진 switch 문
switch x {
case 1, 2, 3:
fmt.Println("x는 1, 2, 3 중 하나입니다.")
case 10, 20, 30:
fmt.Println("x는 10, 20, 30 중 하나입니다.")
default:
fmt.Println("x는 1, 2, 3, 10, 20, 30 중 하나가 아닙니다.")
}
// 조건이 있는 switch 문
switch {
case x < 5:
fmt.Println("x는 5보다 작습니다.")
case x >= 5 && x < 15:
fmt.Println("x는 5 이상 15 미만입니다.")
default:
fmt.Println("x는 15 이상입니다.")
}
}
결과
x는 5보다 큽니다.
x는 5보다 크거나 같습니다.
x는 10입니다.
y는 15보다 큽니다.
x는 10입니다.
x는 10, 20, 30 중 하나입니다.
x는 5 이상 15 미만입니다.
이 코드는 다양한 조건문을 사용하여 값을 검사하고, 각 조건에 따라 다른 메시지를 출력하는 방법을 보여줍니다.
* 출처 : chatGPT
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- listToMap
- 스프링
- 설정
- RESTful
- mybatis
- 타임리프
- spring
- sample
- Spring Boot
- 샘플
- 메시지
- 스프링부트
- REST
- restful서비스
- 엑셀
- oracle
- 예제
- UI
- thymeleaf
- ag grid
- springboot
- lombok
- java
- SHEETJS
- AG-GRID
- mapToList
- cache
- Javascript
- 그리드
- example
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함