개발/Go

[Go] 기초 - 반복문

devhooney 2022. 7. 17. 14:23
728x90

1. for

- Go는 반복문에서도 괄호는 쓰지 않는다.

- while 반복문이 없다.

func main() {
    sum := 0
    for i := 1; i <= 100; i++ {
        sum += i
    }
    println(sum)
}

// while 대신
func main() {
    n := 1
    for n < 100 {
        n *= 2      
        //if n > 90 {
        //   break 
        //}     
    }
    println(n)
}

- 무한 루프는 조건을 다 없애고 for만 써준다.

func main() {
    for {
        println("Infinite loop")        
    }
}

 

2. for range

- for range 문은 for "인덱스,요소값 := range 컬렉션" 컬렉션에서 2개의 변수를 가져온다.

- 변수를 사용 안할 경우 _로 처리한다.

names := []string{"기억", "니은", "디귿"}
 
for index, name := range names {
    println(index, name)
    // 0, 기억 
    // 1, 니은
    // 2, 디귿
}

for _, name := range names {
    println(name)
    // 기억 
    // 니은
    // 디귿
}

 

3. break, continue, goto 문

- break과 continue는 다른 언어랑 같은 기능을 한다.

- goto는 java, javascript를 하면서 못본 기능인데, c언어에서는 있다고 한다.

func main() {
    var a = 1
    for a < 15 {
        if a == 5 {
            a += a
            continue // for루프 시작으로
        }
        a++
        if a > 10 {
            break  //루프 빠져나옴
        }
    }
    if a == 11 {
        goto END //goto 사용예
    }
    println(a)
 
END:
    println("End")
}

 

4. break문 다른 활용

- 이런 break는 사용법은 사용해본적이 없다.

func main() {
    i := 0
 
L1:
    for {
     
        if i == 0 {
            break L1
        }
    }
 
    println("OK")
}

- 조건에 해당하여 L1으로 가지만, break의 영향으로 for문을 지나치고 "OK"출력 후 종료 된다.

 

참고 사이트

http://golang.site/go/article/8-Go-%EB%B0%98%EB%B3%B5%EB%AC%B8

 

예제로 배우는 Go 프로그래밍 - Go 반복문

1. for 문 Go 프로그래밍 언어에서 반복문은 for 루프를 이용한다. Go는 반복문에 for 하나 밖에 없다. for 루프는 다른 언어와 비슷하게 "for 초기값; 조건식; 증감 { ... }" 의 형식을 따른다. 물론 초기

golang.site

 

728x90

'개발 > Go' 카테고리의 다른 글

[Go] 기초 - 익명함수  (0) 2022.07.18
[Go] 기초 - 함수  (0) 2022.07.17
[Go] 기초 - 조건문  (0) 2022.07.15
[Go] 기초 - 연산자  (0) 2022.07.13
[Go] 기초 - 데이터 타입  (0) 2022.07.13