Go - 루프: 프로그래밍에서 반복을 숙달하다

안녕하세요, 야심 찬 프로그래머 여러분! 오늘 우리는 프로그래밍에서 가장 기본적인 개념 중 하나인 루프에 대해 심도 있게 탐구해보겠습니다. 여러분의 친절한 이웃 컴퓨터 과학 교사로서, 저는 Go 루프의 fascinatng한 세계를 안내해드리는 것을 기대하고 있습니다. 믿으세요, 이 튜토리얼이 끝나면 여러분은 프로처럼 루프를 돌릴 수 있을 것입니다!

Go - Loops

루프는 무엇인가요?

구체적인 내용에 들어가기 전에, 루프가 무엇인지 이해해보겠습니다. 상상해보세요, "저는 프로그래밍을 사랑해요"를 100번 쓰는 작업을 맡겼을 때. 지루하지 않나요? 이런 경우 루프가 큰 도움이 됩니다! 루프는 동일한 코드를 반복할 필요 없이 지시문을 여러 번 반복할 수 있게 해줍니다.

Go에서의 루프 유형

Go는 세 가지 주요 루프 유형을 제공합니다:

  1. For 루프
  2. While 루프 (for를 사용하여 구현)
  3. 범위 기반 for 루프

이 각각의 루프를 자세히 탐구해보겠습니다.

1. 클래식 For 루프

for 루프는 Go에서 가장 흔한 루프 유형입니다. 이는 스위스 아미 Knife와 같아서 다목적이고 강력합니다.

package main

import "fmt"

func main() {
for i := 0; i < 5; i++ {
fmt.Println("반복:", i)
}
}

이 예제에서:

  • i := 0는 루프 변수를 초기화합니다
  • i < 5는 각 반복 전에 검사되는 조건입니다
  • i++는 각 반복 후에 실행됩니다

출력:

반복: 0
반복: 1
반복: 2
반복: 3
반복: 4

2. While 스타일 For 루프 (Go 스타일)

Go는 while 키워드를 가지고 있지 않지만, for 루프를 사용하여 같은 결과를 얻을 수 있습니다. 이는 정장을 입은 티셔트와 같아서 형식상 for 루프이지만 기능적으로 while 루프입니다!

package main

import "fmt"

func main() {
count := 0
for count < 3 {
fmt.Println("Count는:", count)
count++
}
}

여기서, 루프는 count < 3이 참인 동안 계속됩니다.

출력:

Count는: 0
Count는: 1
Count는: 2

3. 범위 기반 For 루프

이는 제 개인적인 최爱입니다. 데이터 구조물에 대한 GPS와 같아서, 배열, 슬라이스, 맵 등을 반복하는 데 완벽합니다.

package main

import "fmt"

func main() {
fruits := []string{"apple", "banana", "cherry"}
for index, fruit := range fruits {
fmt.Printf("인덱스 %d의 과일은 %s입니다\n", index, fruit)
}
}

이 루프는 자동으로 fruits 슬라이스를 반복하여 각 반복에서 인덱스와 값을 제공합니다.

출력:

인덱스 0의 과일은 apple입니다
인덱스 1의 과일은 banana입니다
인덱스 2의 과일은 cherry입니다

루프 제어 문

이제 기본적인 내용을 이해했으므로, 루프에 약간의 맛을 더해보겠습니다. 이는 프로그래밍 세계의 DJ와 같아서, 루프 파티의 흐름을 제어합니다!

Break 문

break 문은 긴급 정지 버튼을 누르는 것과 같습니다. 즉시 루프를 종료합니다.

package main

import "fmt"

func main() {
for i := 0; i < 10; i++ {
if i == 5 {
fmt.Println("5에 도달했습니다! 멈추자!")
break
}
fmt.Println("현재 숫자:", i)
}
}

이 루프는 i가 5에 도달하면 중지됩니다.

출력:

현재 숫자: 0
현재 숫자: 1
현재 숫자: 2
현재 숫자: 3
현재 숫자: 4
5에 도달했습니다! 멈추자!

Continue 문

continue 문은 싫아하는 노래를 건너뛰는 것과 같습니다. 다음 반복으로 이동합니다.

package main

import "fmt"

func main() {
for i := 0; i < 5; i++ {
if i == 2 {
fmt.Println("2을 건너뛰자!")
continue
}
fmt.Println("현재 숫자:", i)
}
}

이 루프는 i가 2일 때 출력을 건너뛰습니다.

출력:

현재 숫자: 0
현재 숫자: 1
2을 건너뛰자!
현재 숫자: 3
현재 숫자: 4

무한 루프

마지막으로, 유명한 무한 루프에 대해 이야기해보겠습니다. 이는 끝나지 않는 노래와 같아서 멈추지 않고 계속됩니다 – 그러나 멈추게 하도록 명령을 주지 않는 한.

package main

import (
"fmt"
"time"
)

func main() {
count := 0
for {
fmt.Println("이는 반복입니다:", count)
count++
time.Sleep(time.Second)
if count == 5 {
fmt.Println("됐다, 충분하다!")
break
}
}
}

이 루프는 중지되지 않고 계속될 것입니다. 이 경우, 5번 반복 후에 중지됩니다.

출력:

이는 반복입니다: 0
이는 반복입니다: 1
이는 반복입니다: 2
이는 반복입니다: 3
이는 반복입니다: 4
됐다, 충분하다!

루프 메서드 표

여기서는 우리가 다룰었던 루프 메서드를 요약한 유용한 표를 제공합니다:

메서드 설명 예제
For 루프 표준 루프, 초기화, 조건, 후 문장 for i := 0; i < 5; i++ { ... }
While 스타일 For 루프 조건이 참인 동안 실행되는 루프 for count < 3 { ... }
범위 기반 For 루프 배열, 슬라이스, 맵 등을 반복 for index, value := range collection { ... }
무한 루프 중지되지 않고 계속되는 루프 for { ... }

그리고 여러분, 여기서 끝입니다! 여러분이 Go 프로그래밍의 반복 세계로的第一步을 내딛었습니다. 연습이 완벽을 이루는 것을 기억하고, 이 개념들을 실험해보지 마세요. 행복한 코딩을 기원하며, 여러분의 루프가 원하는 대로 종료되기를 바랍니다!

Credits: Image by storyset