티스토리 뷰

 

golang은 다른 언어와 다르게 for문만이 반복문으로 사용합니다.

즉, golang은 for loop만 반복문으로 사용합니다.

 

| for문 활용법

1~100까지 더하는 for loop 

package main

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

 

for 문 - 조건식만 쓰는 for loop

package main

func main(){
	n := 1
    
    for n < 100 {
    	n++
    	
        //하지만 여기서 주의해야할 점
        // j := n++ 이런식으로 go에서 후위연산자를 사용하여 return 값을 대입하면 오류가 납니다.
    }

}

for 문 - 무한loop

package main

func main(){

	for{
		println("Infinite loop")    
    }
}

 

for range 문

for range문은 collection으로 부터 한 요소(element)씩 가져와 차례로 for block 문장들을 실행합니다.

(= 마치 foreach와 비슷합니다.)

 

문법

for 인덱스,요소값 := range 컬렉션

위와 같이 for loop를 구성합니다.

컬렉션으로부터 하나 씩 요소를 return하여 해당 요소의 위치 index와 값을 for 키워드 다음의 2개의 변수에 각각 할당합니다.

 

 

Lable (레이블 문)


package main

 

import "fmt"

 

func main() {

 

Loop1:

   for i := 0; i < 5; i++ {

        for j := 0; j < 5; j++ {

             if i == 2 && j == 4 {

 

          break Loop1

       }

     fmt.Println("ex1:", i, j)

   }

  }

}


위와 같이 원하는 시점에 Loop1로 돌아가서 for문을 탈출시킬 수 있습니다.

 

주의할 점

Loop: 아래에 관련없는 source code가 존재하면 error 발생 ! (for or break or continue or 조건문 제외 )

 

ex)
Loop2:

fmt,Println("~~") //에러

 

 

break & continue


Loop2:

for i :=0; i<3; i++{

   for j :=0; j<3; j++ {

       if i==1 && j ==2{

          //continue인 경우 break와 다르게 for문을 실행합니다.

          continue Loop2

       }

    }

}


 

'golang' 카테고리의 다른 글

[golang]Golang 문자열 연산과 결합  (0) 2021.07.04
[golang]Go언어 문자열  (0) 2021.07.02
[golang]문법 정리  (0) 2021.07.01
[golang]Go언어 실행  (0) 2021.07.01
[golang]Go언어란 뭐지 ? Go언어 환경변수 등록  (0) 2021.07.01