조건문은 이름처럼 원하는 조건이 참일때만 원하는 code를 실행할 수 있게 해준다.
if문은 조건이 맞으면 { } 안에 내용을 실행한다.
기본적으로 ()를 활용해 감싸지 않아도 된다.
꼭 지켜야 하는 것이 있다.
1. if 조건을 작성할 때 bool로 작성하기
2. if 조건과 같은 줄에 { 작성하기
if a == 1 {
// do something
}
else if, else를 활용할 때 따로 지켜야 할 것도 있다.
이전 if나 else if의 } 와 같은 줄에 else if, else를 작성해야한다.
지키지 않는다면 오류가 발생한다.
if a == 1 {
// do something
} else if a == 2{
// do something
} else {
// do something
}
if문에서도 for문에서처럼 일시적으로 변수를 활용할 수 있다.
이처럼 활용하는 것을 Optional Statement라고 하며 for문, switch문 등 여러 곳에서도 활용가능하다.
if tmp := a; a < 10; {
// do something
}
tmp++ // error
switch문을 활용하면 if문을 보기 쉽고 짧게 만들 수 있다.
switch문 옆에 적은 변수의 값에 따라 실행할 내용이 달라진다.
switch a {
case 1:
// do something if a == 1
case 2:
// do something if a == 2
case 3, 4:
// do something if a == 3 || a == 4
default:
// do something if all conditions above are false
}
Go의 switch문은 다른 언어와 다른 방식으로도 활용할 수 있다.
switch문 옆에 변수를 적지 않고 활용한다면 case 옆 조건을 차례로 살피고 참이라면 해당 내용을 실행하는 방식이다.
func grade(score int) {
switch {
case score >= 90:
println("A")
case score >= 80:
println("B")
case score >= 70:
println("C")
default:
println("Study hard")
}
}