
for, range
Go의 유일한 루프가 for다
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | package main import (     "fmt" ) func superAdd(numbers ...int) int {     total := 0     for index, number := range numbers {         total += number         fmt.Println("index: ", index, ", number: ", number)     }     return total } func main() {     result := superAdd(1, 2, 3, 4, 5, 6)     fmt.Println(result) } http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter | 
(결과)

if
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | package main import (     "fmt" ) func canIDrink(age int) bool {     koreanAge := age + 2     if koreanAge < 18 {         return false     }     return true } func main() {     fmt.Println(canIDrink(16)) } | 
조건식을 하나만 사용할 때는 소괄호를 쓰지 않는다.
조건식의 결과를 반대로 뒤집기 위해 ! 연산자를 사용할 수도 있다.
중괄호({})는 필수이다. if 문 내부에 코드가 단 한 줄만 있더라도 중괄호를 써야 한다.
여는 괄호({)는 if와 같은 줄에 있어야 하고, 닫는 괄호(})는 else와 같은 줄에 있어야 한다.
처리할 조건식이 많을 때는 else if 대신 switch 문을 사용한다.
이것은 위 함수와 동일한 내용인데 잘 보면 if 바로 뒤에 koreanAge 초기화구문이 들어가 있는 것을 볼 수 있다.
변수가 if문 안에서만 쓰일 경우, 이처럼 if 바로 뒤에 적어주면 다른 곳에서는 쓰이지 않는다는 것을 알 수 있어 코드의 가독성이 높아진다.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | package main import (     "fmt" ) func canIDrink(age int) bool {     if koreanAge := age + 2; koreanAge < 18 {         return false     }     return true } func main() {     fmt.Println(canIDrink(16)) } http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter | 
Switch
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | package main import (     "fmt" ) func canIDrink(age int) bool {     switch age {    case 16,17:         return false     case 18:         return true     }     return false } func main() {     fmt.Println(canIDrink(16)) } | 
switch 문은 첫 번째 case의 조건부터 차례로 비교하다가 조건이 일치하는 case의 구문을 수행하고 switch 문을 종료한다. case에는 값을 하나 이상 쓸 수 있다. 값을 둘 이상 쓸 때는 콤마(,)로 구분해준다.
fallthrough
일치하는 case 조건을 만나면 바로 switch 문을 빠져나오므로 switch 문에는 break를 쓰지 않아도 된다. 일치하는 조건을 만났지만 switch 문을 빠져나오지 않고 다음 case로 넘어가려면 fallthrough를 표기해야 한다.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | package main import "fmt" func main() {     i := 2     switch i {     case 1:         fmt.Println("i는 1보다 작거나 같다")         fallthrough     case 2:         fmt.Println("i는 2보다 작거나 같다.")         fallthrough     case 3:         fmt.Println("i는 3보다 작거나 같다.")     } } | 
(결과)

'Golang' 카테고리의 다른 글
| [GoLang 시작하기 6] Array, map, struct (0) | 2020.03.20 | 
|---|---|
| [Golang 시작하기 5] 포인터 (0) | 2020.03.20 | 
| [GoLang 시작하기 3] Naked Return과 Defer (0) | 2020.03.17 | 
| [GoLang 시작하기 2] 함수의 기본 형태, 변수와 상수 (0) | 2020.03.15 | 
| [GoLang 시작하기] Go Download 및 프로젝트 실행하기 (0) | 2020.03.15 |