취미생활

[GO] 반복문 사용하기 본문

컴퓨터/go

[GO] 반복문 사용하기

달다달아 2022. 9. 14. 01:50

 기존 내가 사용하던 C++, Python 에서는 for, while, do-while 등등.. 여러가지 반복문을 제공했다.

이번에 내가 배우는 Go는 반복문으로 오직 for문 만을 가지고 있다.

 

그렇다.

 

반복문 파트는 for문 하나만 알고 들어가면 끝난다!

 

실습사이트

 

A Tour of Go

 

go.dev


일반 for문


package main

import "fmt"

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

}

엄청 고전적인 for문

처음으로 사용해볼 for문은 아주 고전적인 for문이다.

시작 값, 종료 조건, 증가식을 입력하는 방식으로 거의 모든 프로그래밍에서 사용할 수 있다.

 

 


while 형식


package main

import "fmt"

func main() {
	sum := 1
	for sum < 1000 {
		sum += sum
	}
	fmt.Println(sum)
}

그 다음은 while과 같이 사용할 수 있는 for문이다.

 

실습 홈페이지는 for에 세미 콜론이 붙은 것과 안붙은 것 모두 출력되지만

vscode에서 사용하면 세미콜론이 안붙는 것으로 자동최적화된다.

 

아마도 버전이 업데이트 되면서 하나로 통일된 듯


무한루프


for문 조건이 없어 무한으로 루프가 돌고있는 상황이다.

 

이런 경우에는 내부에 if문, break를 통해 for문을 끝내주어야 한다.

 


for each 형식


package main

import "fmt"

func main() {
	str := []string{"hello", "world!"}
	for i, s := range str {
		fmt.Println(i, s)
	}
}

배열에서 데이터를 뽑아 for문을 돌리는 형식인 for-each 형식의 루프도 지원한다.

솔직히 이거까지 지원하면 for문만 있다는 건 사실상 거짓말 아닐까?

 

참고로 for-each 사용 시

for 옆에 들어가는 변수는 index, value 값으로

 

현재가 몇 번째 아이템인지 보여주는 index와 실제 아이템 값이 들어갈 value로 구성된다.

 

index, value 중에 필요없는 데이터는 언더스코어(_)를 통해 무시할 수 있다.

이는 1,3번 예시에서 확인할 수 있다.


참고사이트


오늘 참고한 사이트는 아래와 같다.

 

5 basic for loop patterns

CODE EXAMPLE The for loop can be used for three-component loops, while loops, infinite loops and for-each range loops. You can exit a loop with break or continue.

yourbasic.org

 

A Tour of Go

 

go.dev

 

'컴퓨터 > go' 카테고리의 다른 글

[GO] 변수 선언하기  (0) 2022.09.13
[GO] hello world! golang 배우기 시작  (0) 2022.09.06
Comments