Go : for 반복문

김아무개·2023년 10월 22일
0

고 Go

목록 보기
8/13

출처 : 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)
        }
    }
}

 

profile
Hello velog! 

0개의 댓글