04 for, defer문

Go language course for beginners


for문

Go의 for문은 여러가지 방식으로 사용 될 수 있습니다.

무한루프

for {
    // 무한루프
}

순회 가능한 객체

Go에서의 슬라이스, 맵, 배열, 채널, 스트링등은 순회 가능한 객체입니다.

순회 가능한 객체의 경우에는 for range 문을 사용하여 순회할 수 있습니다.

for key, value := range map {
    // 순회
}

for key := range map {
    // 순회
}

for _, value := range map {
    // 순회
}

for index, value := range slice0 {
    // 순회
}

for index := range slice0 {
    // 순회
}

for _, value := range slice0 {
    // 순회
}

for index, char := range "Hello" {
    // 순회
}

초기식, 조건식, 증감식

다른 프로그래밍 언어처럼 Go도 초기식, 조건식, 증감식을 사용할 수 있습니다.

for i := 0; i < 10; i++ {
    // 순회
}

while 문

Go에서는 while문이 따로 없고 for문이 while문을 대체합니다.

for 조건0 {
    // 조건0이 참인 경우 반복
}

무한루프

무한 루프의 경우에는 다음과 같이 사용할 수 있습니다.

for {
    // 무한루프
}

break, continue

다른 언어와 마찬가지로 break, continue를 사용할 수 있습니다.

break를 사용하면 루프 하나를 탈출합니다.

continue를 사용하면 루프의 다음 단계로 넘어갑니다.

defer문

Go에는 defer라는 편리한 키워드가 있습니다.

defer로 실행시킨 함수는 함수가 끝나기 직전에 실행됩니다.

func main() {
    defer fmt.Println("defer")
}

또한 defer는 LIFO(Last In First Out)순서로 실행되며 마지막에 호출된 defer가 가장 먼저 실행됩니다.

What's next?

다음 포스트에서는 스트럭트와 슬라이스에 대해 살펴보겠습니다.