• 회원가입
  • 로그인
  • 구글아이디로 로그인

GO - For Loops (고랭 FOR반복문)

743  
목차

 

for 반복문 정의

 

for 반복문은 지정 횟수 만큼 반복 실행.

Go에는 for 반복문만 지원. (while 문 존재 X)

 


[구문]

 

for statement1; statement2; statement3 {

   // 반복 실행 코드

}

 

PS1.

statement1 : 초기값

statement2 : 반복 조건. (true이면 계속 반복, false이면 반복 종료)

statement3 : 값 증감

 

PS2.

statement1~statement3은 반복문 독립변수로 꼭 필요한 건 아니나,

어떤 형태로든 비슷한 역할을 하는 코드는 존재해야 함. 

 

PS3.

for 키워드는 반드시 소문자로 적어야 함.


[예제1] - 0 ~ 2 반복

 

package main

import ("fmt")


func main() {

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

    fmt.Println(i)

  }

}

 

결과값:

0

1

2


[예제2] - 10 ~ 30까지 10단위로 반복

 

package main

import ("fmt")


func main() {

  for i:=10; i <= 30; i+=10 {

    fmt.Println(i)

  }

}

 

결과값:

10

20

30 

 

continue 키워드

 

지정 조건일 때만 반복 중단 후, 다음 조건으로 건너뛰어 반복 계속.

 


[예제]

 

package main

import ("fmt")


func main() {

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

    if i == 0 {

      continue

    }

    fmt.Println(i)

  }

}

 

결과값:

1

2

 

break 키워드

 

지정 조건일 때 반복을 완전 중단.

 


[예제]

 

package main

import ("fmt")


func main() {

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

    if i == 2 {

      break

    }

    fmt.Println(i)

  }

}

 

결과값:

0

1

PS. continue / break 키워드는 보통 조건문과 함께 사용.

 

중첩 for 반복문

 

for 반복문 안에 또 for 반복문이 존재하는 경우에 해당.

(예) 구구단 - 2~9단, 각 단별로 1~9 반복

 


[예제] - 각 코딩언어별로 (초급/중급/고급) 표시

 

package main

import ("fmt")


func main() {

  var langs = [2]string{"HTML", "CSS"}

  var levels = [3]string{"초급", "중급", "고급"}

  for i:=0; i < len(langs); i++ {

    for j:=0; j < len(levels); j++ {

      fmt.Println(langs[i],levels[j])

    }

  }

}

 

결과값:

HTML 초급

HTML 중급

HTML 고급

CSS 초급

CSS 중급

CSS 고급

 

range 키워드

 

  • array(배열), slice(슬라이스), map(맵) 반복 실행 시 유용.
  • index(색인번호)와 value(값) 둘 다 반환.

 


[구문]

 

for index, value := range array|slice|map {

   // 각 요소에 대해 실행할 코드

}

 

PS. index 또는 value 생략하려면, 언더코어( _ ) 특수문자 사용.


[예제1] - 배열의 index(색인번호)와 value(값) 둘 다 출력

 

package main

import ("fmt")


func main() {

  langs := [3]string{"HTML", "CSS", "JS"}

  for idx, val := range langs {

    fmt.Printf("%v\t%v\n", idx, val)

  }

}

 

결과값:

0    HTML

1    CSS

2    JS


[예제2] - 배열의 value(값)만 출력

 

package main

import ("fmt")


func main() {

  langs := [3]string{"HTML", "CSS", "JS"}

  for _, val := range langs {

    fmt.Printf("%v\n", val)

  }

}

 

결과값:

HTML

CSS

JS


[예제3] - 배열의 index(색인번호)만 출력

 

package main

import ("fmt")


func main() {

  langs := [3]string{"HTML", "CSS", "JS"}

  for idx, _ := range langs {

    fmt.Printf("%v\n", idx)

  }

}

 

결과값:

0

1



제목
GO - Home (고랭 입문)
GO - Intro (고랭 소개)
GO - Start (고랭 시작)
GO - Syntax (고랭 구문)
GO - Comments (고랭 주석)
GO - Variables (고랭 변수)
GO - Constants (고랭 상수)
GO - Output (고랭 출력)
GO - Data Types (고랭 데이터타입) - 자료형
GO - Arrays (고랭 배열)
GO - Slices (고랭 슬라이스)
GO - Operators (고랭 연산자)
GO - Conditions (고랭 IF조건문)
GO - switch (고랭 스위치조건문)
GO - For Loops (고랭 FOR반복문)
GO - Functions (고랭 함수)
GO - Maps (고랭 맵)
목록
찾아주셔서 감사합니다. Since 2012