🐾   [golang] for문 공부하기

Go에서는 반복문으로 for문만 사용합니다. while문은 존재하지 않습니다.

for문 기본 구조

for 초기문; 조건문; 후처리{
    코드 블록
}

예시

for i:=0; i<10; i++{
      fmt.Print(i) //0123456789
  }
  • 초기문, 후처리는 생략이 가능합니다. 둘 다 생략해도 됩니다.
for ; 조건문; 후처리{
    코드 블록
}

for 초기문; 조건문; {
    코드 블록
}

for ;조건문; {
    코드 블록
}
  • 조건문만 사용할 경우 ; 생략할 수 있습니다.
    for 조건문 {
      코드 블록
    }
  • 초기문, 조건문, 후처리 모두 생략할 수 있습니다
for {
    코드 블록
    }

이 경우 무한 루프에 빠지게 됩니다. 그래서 break 이용하여 for문을 나와야합니다.


중첩 for문

for 초기문; 조건문; 후처리{
    for 초기문; 조건문; 후처리{
        코드 블록
    }
    코드 블록
}

예시

for i := 0; i < 5; i++ {
		for j := 0; j < i+1; j++ {
			fmt.Print("*")
		}
		fmt.Println()
	}

결과

*
**
***
****
*****

continue와 break

  • continue : 이후 코드를 수행하지 않고 후처리로 바로 넘어갑니다.

예시

	for i := 0; i < 5; i++ {
		if i == 0 {
			fmt.Println("i=0입니다.")
			continue
		}
		fmt.Println(i)
	}

i=0인 경우 if문에 들어가서 “i=0입니다.”를 출력한 후 fmt.Println(i) 수행하지 않고 바로 후처리로 넘어갑니다. 그래서 i=1이 되면서 fmt.Println(i) 부분을 수행합니다.

결과

i=0입니다.
1
2
3
4
  • break : for문을 강제종료 시킨다.

예시

for i := 0; i < 5; i++ {
		fmt.Println(i)
		if i == 0 {
			fmt.Println("i=0입니다.")
			break
		}
	}
  • break는 i가 0인 상태가 끝나면 for문을 나옵니다. 그래서 i=1인 경우는 실행하지 않습니다.

결과

0
i=0입니다.

​ ​ ​