8.1. 프로그램언어 고(Go)의 for문

프로그램언어 고(Go)에서의 for문의 기본 구조

고(Go)언어의 for문 기본 구조를 설명드리겠습니다.

for문은 주로 반복문에서 많이 사용되는 구문입니다. 고(Go)언어의 for문 기본 구조는 다음과 같습니다.

for 초기문; 조건문; 후행문 {
    반복 실행문
}

for문은 초기문, 조건문, 반복 실행문, 후행문의 4가지로 구성되어 있습니다.

우선 for문이 시작하면 제일 먼저 한 번만 수행되는 초기문이 실행됩니다.

그 다음 부터 조건문을 확인하여 참(true)일 경우에만 반복 실행문이 실행됩니다.

반복 실행문을 모두 수행하고 나면 후행문이 수행되고, 다시 조건문을 확인하는 방식으로 반복 실행됩니다.

조건문이 거짓(false)이 되면 for문을 완전히 빠져나오게 됩니다.

다음은 for문의 기본 예제입니다.

package main

import "fmt"

func main() {

    // 초기문
    for i := 0; i < 5; i++ {
        
        // 반복 실행문
        fmt.Println(i)
    }
}

위 예제를 설명드리겠습니다.

먼저 for문 시작 전에 i 변수를 0으로 초기화합니다.

그 다음 i가 5보다 작은 동안 반복 실행합니다.

반복 실행문에서는 i 변수값을 출력합니다.

마지막으로 i를 1씩 증가시키는 후행문이 실행됩니다.

이와 같이 초기문, 조건문, 반복 실행문, 후행문이 순서대로 실행되면서
i가 0에서 1, 2, 3, 4가 되고 조건이 거짓이 되면 for문을 완전히 빠져나오게 됩니다.

이상으로 고(Go)언어의 for문 기본 구조에 대해 간단히 설명드렸습니다.

프로그램언어 고(Go)에서의 for문을 사용한 반복 처리

고(Go)언어의 for문을 사용한 반복처리에 대해 설명드리겠습니다.

for문은 주로 반복작업이 필요한 경우 사용하며, 초기식, 조건식, 증감식의 형태로 구성됩니다.

다음은 고(Go)언어의 for문 기본 문법입니다.

for 초기식; 조건식; 증감식 {
    반복 실행될 문장
}

초기식은 한 번만 실행되어 반복변수를 초기화합니다.

조건식은 반복 실행을 위한 부울 표현식으로 true일 때만 반복합니다.

증감식은 반복이 끝날 때 마다 실행되어 반복 횟수를 제어합니다.

다음은 0부터 9까지 정수를 출력하는 고(Go)언어 for문 사용 예제입니다.

package main

import "fmt"

func main() {

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

}

위 예제에서는

반복변수 i를 0으로 초기화하여 선언합니다.

i가 10미만일 동안 반복하도록 조건식을 설정합니다.

매 반복시 마다 i를 1씩 증가시킵니다.

이를 통해 0부터 9까지의 정수를 출력할 수 있습니다.

for문은 이 외에도 반복횟수를 모르는 배열이나 슬라이스 순회시 주로 사용합니다.

다음은 슬라이스를 순회하며 요소 출력하는 예제입니다.

package main

import "fmt"

func main() {
    
    slice := []int{1, 2, 3, 4, 5}

    for i := 0; i < len(slice); i++ { 
        fmt.Println(slice[i])
    }

}  

위 예제에서는 슬라이스의 길이 만큼 반복문을 실행합니다.

반복변수 i로 슬라이스의 인덱스에 접근하여 요소를 출력합니다.

이처럼 고(Go)언어의 for문은 인덱스 기반 반복에 매우 유용하게 사용됩니다.

앞으로도 for문 사용에 익숙해지시기 바랍니다.

프로그램언어 고(Go)에서의 for문에 break 사용하기

Go 언어의 for문에서 break 문을 사용하면 현재의 for문을 즉시 빠져나갈 수 있습니다.

package main

import "fmt"

func main() {

  for i := 0; i < 10; i++ {
    if i == 5 {
      break // i가 5일 때 for문을 빠져나감
    }
    fmt.Println(i) 
  }

}

위의 코드에서 보면, for문의 조건문이 i < 10 입니다. 하지만 i 가 5가 되는 시점에 break 문을 만나면서 for문을 빠져나가게 됩니다. 따라서 결과적으로 0부터 4까지만 출력이 되고, 5부터 9까지는 출력되지 않습니다. break 문의 가장 큰 장점은 특정 조건에서 for문을 중간에 끊을 수 있다는 것입니다. 예를 들어 데이터를 탐색하는 로직에서 원하는 데이터를 찾으면 반복문을 끝낼 수 있습니다. 이를 통해 불필요한 반복 실행을 줄이고 효율적인 코딩이 가능합니다. 위 예제에서 i == 5일 때 중단하는 것처럼, 실제로는 데이터 검색이 완료되었거나 오류 발생 시 반복문을 중단하는 형태로 활용할 수 있습니다. 따라서 Go 언어에서 for문과 break 문을 조합하여 사용하면 보다 효과적으로 반복 로직을 구현할 수 있으므로 꼭 숙지하시기 바랍니다.

반복문 제어에 대한 보다 자세한 설명이 필요하시다면 언제든지 문의주시기 바랍니다. 최선을 다해 도와드리겠습니다.

프로그램언어 고(Go)에서의 for문에 continue 사용하기

Go언어의 for문에서 continue를 사용하면 현재 반복에서 continue문 아래 문장을 건너뛰고, 다음 반복으로 넘어갑니다.

예를 들어 다음과 같은 코드가 있다고 합시다.

package main

import "fmt"

func main() {

    for i := 0; i < 10; i++ {
        if i == 5 {
            continue 
        }
        fmt.Println(i)
    }

}

위 코드는 0부터 9까지의 숫자를 출력하는 for문인데, i가 5일 때 continue문을 만나면 아래 fmt.Println(i)문을 실행하지 않고, 바로 다음 반복으로 넘어갑니다.

따라서 결과는 0, 1, 2, 3, 4, 6, 7, 8, 9 가 출력되는 것을 확인할 수 있습니다.

continue문은 반복문에서 특정 조건을 만족할 때 실행 흐름을 건너뛰고 싶은 경우에 사용합니다.

if문과 결합하여 사용할 수도 있고, 조건없이 단독으로 사용할 수도 있습니다.

다음은 continue문을 단독으로 사용한 예제입니다.

package main

import "fmt"

func main() {

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

}

위 코드에서 볼 수 있듯이 continue문 다음 문장은 절대 실행되지 않습니다.

continue문이 실행되면 무조건 다음 반복으로 넘어가기 때문입니다.

continue문은 프로그램 실행흐름을 보다 효율적으로 제어할 수 있게 해주는 유용한 문법입니다.

특히 반복문에서 불필요한 코드 실행을 줄이거나, 특정 조건에서 코드 블록을 건너뛰고 싶은 경우 자주 사용합니다.

이상으로 Go언어의 for문에서 continue문 사용하기에 대한 설명을 마치겠습니다.

추가적인 질문이 있으시면 언제든 질문해 주세요.

프로그램언어 고(Go)에서의 for문을 이용한 다중 루프처리

Go 언어에서 for문을 이용한 다중 루프 처리에 대해 설명드리겠습니다.

for문은 Go에서 반복 실행을 위한 기본 제어 구조입니다. for문 내에서 추가로 for문을 중첩시켜 다중 루프를 구현할 수 있습니다.


package main

import "fmt"

func main() {

    // 이중 for문
    for i := 1; i <= 3; i++ {
        fmt.Printf("i: %d\n", i)
        for j := 1; j <= 3; j++ {
            fmt.Printf("\tj: %d\n", j) 
        }
    }

    fmt.Println()

    // 삼중 for문
    for i := 1; i <= 2; i++ {
        fmt.Printf("i: %d\n", i) 
        for j := 1; j <= 2; j++ {
            fmt.Printf("\tj: %d\n", j)
            for k := 1; k <= 2; k++ {
                fmt.Printf("\t\tk: %d\n", k)
            }
        }
    } 
}

위의 코드에서 보다시피,
- 바깥쪽 for문이 한 번 반복할 때마다
- 그 안쪽의 for문이 전체 반복을 합니다.

즉, 내부 for문이 외부 for문의 반복 횟수만큼 중첩 실행됩니다.

이를 통해 다중 중첩된 루프를 구현할 수 있습니다.

- 이중 for문은 2중 루프
- 삼중 for문은 3중 루프입니다.

이와 같이 for문을 겹겹이 쌓아서, 복잡한 반복 로직을 효과적으로 표현할 수 있습니다.

필요에 따라 그 이상으로도 루프를 중첩시킬 수 있겠습니다.

이상 Go 언어의 for문 다중 루프 처리에 대한 간략한 설명이었습니다.

존중하는 분께 도움이 되었기를 바랍니다.

Leave a Comment