GoLang - 반복문 ( for, range )

dev_swan·2022년 11월 21일
0

Golang

목록 보기
4/9
post-thumbnail

for

Go언어에서의 반복문은 for문만 사용 가능합니다. While문이 없기 때문에 for문으로 모든 반복을 해결합니다.

if문과 마찬가지로 괄호가 없으니 주의하시길 바랍니다.

package main

import "fmt"

func main() {
	sum := 0
	for i := 0; i <= 10; i++ {
		sum += i
	}
  /** -> 55 */
	fmt.Println(sum) 
}

while처럼 사용

for문을 타언어의 while문 처럼 사용할 수 있습니다.

package main

import "fmt"

func main() {
	sum :=1
	for sum < 100 {
		sum += sum
	}

	fmt.Println((sum))
}

무한 루프

무한루프를 만들고 싶은 경우 아무것도 안주고 for만 사용하면 됩니다.

package main

func main(){
  for{
    
  }
}

for ~ range

배열이나 슬라이스, 맵을 순회할 때 range키워드를 사용하여 순회할 수 있습니다.

키,index가 들어가고 두번째에는 값이 들어갑니다. 여기서 값이 숫자로 나오는 이유는 아스키 코드 테이블에 의해 매핑된 값이 출력되기 때문입니다.

Go에서는 rune에 대해 출력을 하게 되면 자동으로 코드값으로 바꿔준다

package main

import "fmt"

func main() {
	runes := []rune{'A','B','C'}

	for _, r := range runes {
		fmt.Println(r)
	}
}

반복문 제어

반복문을 제어하는 방법으로는 break, continue 키워드가 있습니다. break를 사용하면 즉시 반복문에서 탈출하고, continue를 사용하면 그 이후 표현식은 모두 무시하고 다시 조건식으로 되돌아갑니다.

아래의 코드는 2로 나누었을 때 나머지 값이 0일 경우에는 continue가 실행되어 계속하여 num을 출력하고 11을 조건에 검사할때는 2로 나누어지지 않기 때문에 break가 실행되어 반복문을 탈출합니다.

package main

import "fmt"

func main() {
	numbers := []int{2,4,6,8,10,11,14}

	for _,num := range numbers {
		if num%2 == 0 {
      /** -> 2, 4, 6, 8, 10 */
			fmt.Println(num)
			continue
		}
		break
	}
}

참고자료

Go 언어를 공부하기 위한 자료 및 문서 정리


Go 언어 공부 GoGo~~! 엌ㅋㅋㅋㅋㅋㅋㅋ

0개의 댓글