반복! 반복!

Go 세상에는 오직 한 종류의 반복문만 있습니다. 바로 for입니다. 하지만 이 for 하나로 모든 반복을 다 할 수 있죠!


10번 인사하기

for i := 0; i < 10; i++ {
    fmt.Println("안녕, Go!")
}

번역:

(0부터 시작해서, 10보다 작은 동안, 하나씩 키워가며) 반복해라 {
    "안녕, Go!"라고 출력하고 한 줄 밑으로 이동해라
}

꾸러미에서 하나씩 꺼내기 (range)

리스트(슬라이스)에 있는 내용물을 하나하나 꺼낼 때 가장 많이 씁니다.

foods := []string{"치킨", "피자", "떡볶이"}

for index, food := range foods {
    fmt.Println(index, "번 메뉴:", food)
}

번역:

foods 꾸러미에서 순서(index)와 내용물(food)을 하나씩 꺼내며 반복해라 {
    번호와 메뉴 이름을 출력하고 한 줄 밑으로 이동해라
}

조건이 맞을 때까지 (While 처럼 쓰기)

Go에는 while이라는 단어가 없지만, for의 뒤에 조건만 써주면 똑같이 동작합니다.

energy := 3

for energy > 0 {
    fmt.Println("남은 에너지:", energy)
    energy-- // 에너지 하나 감소
}

번역:

energy가 0보다 큰 동안 계속 반복해라 {
    "남은 에너지"와 energy를 출력하고 한 줄 밑으로 이동해라
    energy에서 1을 빼라
}

단순하면서 강력한 Go의 반복 시스템입니다!