Today
-
Yesterday
-
Total
-
  • Go : for 반복문
    Language/고 Go 2023. 12. 17. 00:01

    출처 : https://inf.run/tfefs


    Golang에서 사용할 수 있는 유일한 반복문이다.

    java에서 for문 사용하듯 사용하면 된다.

    java의 for문과 차이점으로는 go에선 배열 탐색 시 range 키워드를 사용하여 인덱스와 값을 꺼낸다.

     

    기본 형태

    for i := 0; i < 10; i++ {
    	// code
    }

     

    java의 while 처럼 사용하기

    func main() {
        sum2, i := 0, 0
        
        for i <= 100 {
            sum2 += i
            i++
        }
        fmt.Println("sum2 :", sum2)
    }

    참고로

    Golang에서는 후치 연산 (i++) 시 반환 값이 발생하지 않기 때문에 j := i++ 이런 형태의 변수 사용은 불가능하다.

     

    무한 루프 형태

    for {
    	// code
    }

     

    배열 인덱스, 값 출력 형태

    for 변수1, 변수2 := range 배열변수 {
    	// code
    }
    • 인덱스만 사용하려면 변수2를 생략하면 되고,
    • 값만 사용하려면 변수1의 자리에 _ 를 입력하면 된다.

    - 예시 1 : 인덱스와 값 출력

    func main() {
        loc := []string{"Seoul", "Busan", "Incheon"}
    
        for index, name := range loc {
            fmt.Println("[ loc 배열 ] index :", index, " value :", name)
        }
    }

    - 예시 2 : 인덱스만 출력

    func main() {
        loc := []string{"Seoul", "Busan", "Incheon"}
    
        for index := range loc {
            fmt.Println("[ loc 배열 ] index :", index)
    	}
    }

    - 예시 3 : 값만 출력

    func main() {
        loc := []string{"Seoul", "Busan", "Incheon"}
    
        for _, name := range loc {
            fmt.Println("[ loc 배열 ] value :", name)
    	}
    }

     

    레이블+continue/break 사용 형태

    func main() {
    here:
        for i := 0; i < 3; i++ {
            for j := 0; j < 3; j++ {
                if i == 1 && j == 2 {
                    continue here
                }
                fmt.Println("값 확인 :", i, j)
            }
        }
    }

     

    'Language > 고 Go' 카테고리의 다른 글

    Go : 라이브러리 import 시 Alias 별칭 사용하기  (0) 2023.12.17
    Go : package  (0) 2023.12.17
    Go : Switch 조건문  (0) 2023.12.17
    Go : if 조건문  (0) 2023.12.17
    Go : 열거형 상수  (0) 2023.12.17

Designed by Tistory / Custom by 얼거스