4. 반복문 (Loop)
4.1 For
: Go에서는 For문이 유일한 반복문이다.(고랭?) 기본적인 for 반복문은 C와 Java 언어와 거의 유사하다. 다른점은 소괄호 ( )가 필요하지 않다는 것이다. 하지만 실행문을 위한 중괄호 { } 는 필요하다. ( 적응이 안되서 그런지...()가 없으니 가독성이 너무 떨어져 보인다 ㅠㅠ )
package main
import "fmt"
func main() {
sum := 0
for i := 0; i < 10; i++ {
sum += i
}
fmt.Println(sum)
}
4.1.2. For(2)
: 전후처리를 모두 제외하고 For문을 사용 가능하며, 이것이 Go의 While문이다.(고랭~)
package main
import "fmt"
func main() {
sum := 1
for sum < 1000 {
sum += sum
}
fmt.Println(sum)
}
4.1.3. 무한루프
: 조건 조차도 없다면 그것이 무한 루프
package main
import "fmt"
func main() {
for {
fmt.Println("아주 죽도록 이내용만 찍어보자!!")
}
}
4.2. 레인지 ( Range, 범위 )
: for 반복문에서 range 를 사용하면 슬라이스나 맵을 순회(iterates)할 수 있다.
var pow = []int{1, 2, 4, 8, 16, 32, 64, 128}
func main() {
for i, v := range pow { // i = index , v = 값
fmt.Printf("2**%d = %d\n", i, v)
}
}
4.2.1. 레인지의 인덱스나 값 무시
: 레인지의 인덱스나 값중 하나를 무시하는것도 가능하다.
- index 무시
for _, value := range pow { fmt.Printf("%d\n", value) }
- 값 무시
for i := range pow { fmt.Printf("%d\n", i) }