Go 조건문
Go 조건문
Go에서는 조건문이 조금 자유분방한 느낌이 있다. 아래의 예시들을 보면서 살펴보자
if
구문은 일반적인 if 조건문 {} 식이다. 그런데 Go에서는 특이하게 if Func();조건문 {} 이런식으로 가능하다.
1
2
3
4
5
6
7
8
9
func ex()(int,int){ // Go에서는 return 값을 여러개를 보내줄 수 있다. 나중에 자세히 후술할 예정이다.
return 1,2
}
if a,b := ex(); a>b{
fmt.print(a)
} else{
fmt.print(b)
}
이런식으로 조금 색다르게 if문을 구현할 수 있다.
for
Go에서 for문을 사용할 때 무조건 {}를 붙여야한다. 다른 언어에서처럼 실행할 코드가 한줄이라고 생략할 수 없다.
그리고 if에서 처럼 변수를 동시에 여러개 처리가 가능하다.
1
2
3
for i,j := 0,0;i<5;i,j = i+1, j+2{
fmt.println(i,j)
}
switch
일반적인 형태
1
2
3
4
5
6
7
8
9
10
11
//Go에서 switch구문의 형식은 다음과 같다.
//break는 생략
switch Env{
case val1: //Env == val1 일 때
case val2: //Env == val2 일 때
case Env > val2 && Evn < val1: //이런 식으로 조건문의 형태도 가능하다.
default : //모두 해당하지 않을 때
}
fallthrough
1
2
3
4
5
6
7
8
9
10
switch Env{
case val1:
Ex()
fallthrough
case val2: //Env == val2 일 때
Ex2()
fallthrough
default : //모두 해당하지 않을 때
Ex3()
}
일반적인 swtich문이라면 Env == val1일 때 Ex()만 실행되겠지만 fallthrough가 있으면 뒤에 있는 case도 실행이 된다. 따라서 Ex3()까지 실행이 된다.
This post is licensed under CC BY 4.0 by the author.