Go - 루프: 프로그래밍에서 반복을 숙달하다
안녕하세요, 야심 찬 프로그래머 여러분! 오늘 우리는 프로그래밍에서 가장 기본적인 개념 중 하나인 루프에 대해 심도 있게 탐구해보겠습니다. 여러분의 친절한 이웃 컴퓨터 과학 교사로서, 저는 Go 루프의 fascinatng한 세계를 안내해드리는 것을 기대하고 있습니다. 믿으세요, 이 튜토리얼이 끝나면 여러분은 프로처럼 루프를 돌릴 수 있을 것입니다!
루프는 무엇인가요?
구체적인 내용에 들어가기 전에, 루프가 무엇인지 이해해보겠습니다. 상상해보세요, "저는 프로그래밍을 사랑해요"를 100번 쓰는 작업을 맡겼을 때. 지루하지 않나요? 이런 경우 루프가 큰 도움이 됩니다! 루프는 동일한 코드를 반복할 필요 없이 지시문을 여러 번 반복할 수 있게 해줍니다.
Go에서의 루프 유형
Go는 세 가지 주요 루프 유형을 제공합니다:
- For 루프
- While 루프 (for를 사용하여 구현)
- 범위 기반 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