8.3. 프로그램언어 고(Go)의 while문

프로그램언어 고(Go)에서의 while문의 기본 사용 방법

고(Go)언어의 while문 사용방법을 쉽게 설명드리겠습니다.

while문은 주로 조건식이 참인 동안 계속해서 코드블록을 반복 실행할 때 사용합니다.

기본 문법은 다음과 같습니다.


while 조건식 {
    반복 실행할 코드
}

조건식이 참인 동안 while문 안의 코드블록이 계속해서 실행됩니다.

다음은 기본적인 while문 사용 예제입니다.


sum := 0 
i := 1

for i <= 10 {
    sum += i
    i++ 
}

println(sum) // 55

위 코드는 변수 i가 1부터 10까지 1씩 증가하면서 변수 sum에 누적해서 더하는 예제입니다.

i가 1에서부터 10이하까지 조건식 i <= 10을 만족하기 때문에 계속해서 반복 실행됩니다. 매 반복마다 i 값을 1씩 증가시키고(i++), 변수 sum에 누적해서 더합니다. 결과적으로 sum 변수에는 1부터 10까지의 합 55가 계산되어 저장됩니다. 이렇게 while문을 사용하면 조건식이 참인 경우 반복 실행이 필요한 경우에 사용할 수 있습니다. 위 예제의 경우 반복 횟수가 명확할 때는 주로 for문을 사용하지만 조건식이 복잡한 로직이 필요한 경우 while문을 활용할 수 있습니다. 이상으로 고(Go)언어의 while문 사용방법에 대해 간단히 설명드렸습니다.

프로그램언어 고(Go)에서의 while문을 사용한 조건 반복

고(Go) 프로그램언어에서의 while문을 사용한 조건 반복에 대해 설명드리겠습니다.

while문은 주로 조건문과 함께 사용되어 특정 조건이 만족할 때까지 코드 블록을 반복 실행합니다. 기본 구조는 다음과 같습니다.


while 조건문 {
    반복 실행할 코드
}

while문은 조건문이 참(true)인 동안 계속 반복 실행됩니다. 조건문이 거짓(false)이 되는 순간 while문을 빠져나가 다음 코드를 실행합니다.

다음은 while문을 사용한 간단한 카운터 프로그램의 예제입니다.


package main

import "fmt"

func main() {

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

}  

위 코드는 변수 i를 1로 초기화하고, i가 10 이하일 동안 while문 안의 코드 블록을 반복 실행합니다.
while문 안에서는 변수 i값을 출력하고, i를 1씩 증가시켜 결국 i가 11이 되면 while문을 빠져나옵니다.

이러한 방식으로 프로그램 내에서 특정 조건을 만족할 때까지 코드를 반복 실행할 수 있습니다.
변수 사용 방법이나 조건 설정에 따라 다양한 반복 알고리즘을 구현할 수 있습니다.

while문 사용 시 무한 루프에 빠지지 않도록 조건변수의 변화를 반드시 고려해야 합니다.
조건이 절대 거짓이 될 수 없다면 while문에서 벗어날 수 없어 무한루프에 빠지기 때문입니다.

이상으로 고(Go)의 while문 사용에 대해 간략히 설명드렸습니다. 예제와 함께 더 쉽게 이해하실 수 있기를 바랍니다.

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

고(Go)언어에서 while문을 사용할 때 break문을 활용하면 while문을 즉시 탈출할 수 있습니다.

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


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

여기서 while문은 i가 0부터 9까지 출력하는 루프입니다.
하지만 i가 5가 되는 순간 break문을 만나 while문을 탈출합니다.

따라서 결과는 0, 1, 2, 3, 4 가 출력된 후 while문이 종료됩니다.

break문은 이처럼 while문이나 for문과 같은 반복문을 강제로 탈출할 때 사용합니다.

흐름 제어와 관련된 중요한 문법 중 하나이기 때문에 잘 활용할 수 있도록 연습하는 것이 좋습니다.

다음은 while문에 break문을 활용한 다른 예시입니다:


sum := 0 
i := 0

for i < 100 {

  sum += i

  if sum > 50 {
    break
  }

  i++

}

fmt.Println("sum =", sum)

이 코드는 0부터 99까지의 정수를 더하는 과정에서, 합계가 50을 넘으면 반복문을 탈출합니다.
그래서 결과는 sum = 50으로 출력됩니다.

이처럼 특정 조건에서 반복문을 탈출하고자 할 때 break 문법을 사용할 수 있습니다.
주의할 점은 break문은 가장 가까운 반복문 하나만 탈출합니다.

중첩된 구조의 경우 내부 반복문만 탈출하고, 외부 반복문은 계속 이어서 실행됩니다.

이 정도의 설명이 도움이 되었기를 바랍니다.

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

고(Go)프로그램언어에서의 while문에 continue 사용하기에 대해 설명드리겠습니다.

while문은 조건식이 참인 동안 계속 반복 실행하는 문입니다.

여기에 continue 문을 사용하면 while 문의 처음으로 돌아가 다시 조건식을 검사합니다.

즉, continue 문을 만나면 아래 코드를 수행하지 않고 즉시 다음 반복으로 넘어갑니다.

다음은 고(Go)프로그램언어에서의 while문에 continue 사용한 간단한 예제 코드입니다.


i := 0
for i < 10 {
    i++
	
    if i == 5 {
        continue 
    }

    fmt.Println(i) 
}

위 코드는 1부터 10 미만까지의 숫자를 출력하는 코드입니다.

하지만 i가 5일 때 continue 문을 만나면 바로 다음 반복으로 넘어가게 됩니다.

따라서 결과는 1, 2, 3, 4, 6, 7, 8, 9가 출력됩니다.

5는 continue 문을 만나 바로 다음 반복으로 넘어가기 때문에 출력되지 않습니다.

이처럼 continue문을 사용하면 원하는 조건에서 실행 흐름을 중단하고 다음 반복으로 빠르게 넘어갈 수 있습니다.

필요한 시점에 continue를 사용하면 불필요한 코드 실행을 줄이고 효율적인 코딩이 가능합니다.

while문에 continue문 사용 시 주의할 점은 반복문의 맨 아래에 있는 코드는 수행되지 않으므로 필요한 경우 continue 문 위로 옮겨야 한다는 것입니다.

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

Go언어에서 while문을 사용하여 무한 루프를 구현할 수 있습니다. while문은 조건식이 참인 동안 계속해서 블록 안의 문장을 실행합니다.

이를 이용하여 다음과 같이 무한 루프를 만들 수 있습니다.


package main

import "fmt"

func main() {

    // 무한루프 
    for {
       fmt.Println("무한루프") 
    }

}

위의 코드에서 for문 대신 while문을 사용할 수도 있습니다.


package main

import "fmt"

func main() {

    // 무한루프
    i := 0
    for i < 1 {
       fmt.Println("무한루프")
    }

}  

while문의 조건식으로 항상 참인 조건을 넣어주면(i < 1) 무한 루프를 만들 수 있습니다. 이 경우 i 변수의 값은 절대로 1보다 커지지 않기 때문에 조건식이 항상 참이 되어 무한루프에 빠지게 됩니다. 무한루프를 구현할 때 주의할 점은 CPU/메모리 자원을 계속 사용한다는 것です. 부하를 주지 않도록 sleep() 함수등을 이용하여 일정 주기를 둬서 정지 시키는 것이 좋습니다. 이상으로 Go언어의 while문을 사용한 무한루프 예제에 대한 설명을 드렸습니다. 코드와 함께 충분한 설명을 통해 도움이 되었기를 바랍니다.

Leave a Comment