본문 바로가기
프로그래밍/Go언어

Golang for문 사용법!!

by Hwan2 2021. 5. 16.
반응형

Golang에선 for문 사용법이 좀 여러가지가 있습니다.

 

그리고 Golang에선 while문이 없죠.

 

이건 Golang의 정신? 이런 의미로, Golang의 목적이 있죠. 

 

Golang은 기능이 비슷한 것들을 모두 지웠습니다.

 

예를 들면 ,if문과 삼항 연산자, for문과 while문 등....

 

Golang에선 삼항연산자와 while문이 없죠.

 

또한 if문과 for문 사용시 반드시 중괄호( { } )를 입력해줘야합니다.

 

본론으로 돌아와서 for문에 대해 알아봅시다.

 

1. for 변수; 조건; 연산자

package main

import "fmt"

func main() {
	for i := 0; i < 10; i++ {
		fmt.Println(i)
	}
}

//아래와 같은 형식으론 안됩니다.
for var i int = 0; i < 10; i++{
	fmt.Println(i)
}

0 ~ 10 까지 for문을 돌려서 처리하는 for문입니다

for문 안에 괄호를 사용하지 않고 저런식으로 정의해서 사용합니다.

 

주의해야할 점은 아래와 같은 for문처럼

for var i int = 0; i < 10; i++ {
} 

이런 형식의 초기화는 안됩니다.

 

2. for 조건

package main

import "fmt"

func main() {

	var i int = 1
	for i < 10 {
		i *= 2
		fmt.Println(i)
	}
}

이런식으로도 만들 수 있습니다. 즉, for문이 while문 역할을 하는 것이죠.

때문에 Golang에선 while문을 없앴습니다.

 

3. for range

package main

import "fmt"

func main() {

	names := []string{"abc", "hwan", "banana"}

	for idx, name := range names {
		fmt.Println(idx, name)
	}
}

for range는 범위 내에서 저렇게 실행하는 것을 의미합니다.

 

range의 반한값은 총 2개로, index와 value를 return합니다.

 

4. for 무한 루프

package main

import "fmt"

func main() {
	i := 0
	for {
		i++
		if i == 10 {
			break
		}
		fmt.Println("a")
	}
}

//아래도 같은 무한루프 입니다.
for true {
}

for문의 무한루프 입니다.

저렇게 for문만 선언하면 무한루프를 돌게 되죠.

 

아래도 같은 무한루프이지만, 조건을 붙이나 안붙이나 동작은 같게 해서 굳이 저렇게 사용할 일은 없을 듯 합니다.

 

 

반응형

댓글


스킨편집 -> html 편집에서