파이문

Go 튜토리얼 - 반복문, 제어문 본문

Go/Tutorial

Go 튜토리얼 - 반복문, 제어문

민Z 2017. 1. 15. 01:08
728x90

Go 반복문

(Go for loop example)



Go 언어에는 반복문이 for 문 밖에 없습니다. 

for 반복문은 다른 언어와 비슷한 문법을 갖고 있고, 소괄호는 없고 중괄호는 필수라는 점만이 다릅니다.

package main

import "fmt"

func main() {
    sum := 0
    for i := 0; i < 10; i++ {
        sum += i
    }
    fmt.Println(sum)
}


무한 루프인 경우 for 반복문 안을 비워두고 사용하면 됩니다.

for {
}


C언어에서 while문을 사용하는 것 처럼 구현할 수도 있습니다.

sum = 1
for sum < 1000 {
    sum += sum
}


Go 조건문

(Go if statement example)



for 문과 비슷하게 소괄호는 필요 없고, 중괄호는 반드시 있어야 합니다. (소괄호가 있다고 해서 syntax error 를 내뱉지는 않습니다.)

func max(num1, num2 int) int {
   var result int

   if (num1 > num2) {
      result = num1
   } else if num1 == num2{
      result = 0
   } else {
       result = num2
   }
   return result 
}


Go 에서는 if문 안에 짧은 문장을 실행할 수도 있습니다. 아래 예제는 변수를 대입해 if 문을 실행하는 것으로, 해당 변수는 해당 제어문 안에서만 유효하게 됩니다. 따라서 if 문 (그리고 엮여있는 else 문 ) 밖에서 v 를 리턴하면 에러가 나죠.

func pow(x, n, lim float64) float64 {
    if v := math.Pow(x, n); v < lim {
        return v
    } else {
        fmt.Printf("%g >= %g\n", v, lim)
    }
    // can't use v here, though
    return lim
}


참고

https://go-tour-kr.appspot.com

'Go > Tutorial' 카테고리의 다른 글

Go 튜토리얼 - 배열, 슬라이스  (1) 2017.01.30
Go 튜토리얼 - switch 문  (0) 2017.01.15
Go 튜토리얼 - 변수  (0) 2017.01.11
Comments