조건을 만족할때까지 코드를 반복
튜링완전 : 이론적으로 계산 가능한 모든것을 할 수 있다는 뜻
반복문은 리소스를 많이 사용하기때문에 비트코인에서는 반복문을 사용하지 않지만 이더리움(튜링완전)은 사용
sum := 0
//for 초기문; 조건문; 사후구문
for i :=0; i < 10; i++ {
sum += i
}
fmt.Println(sum)
package main
import (
"fmt"
)
func main() {
sum := 0
for i :=0; i < 10; i++ {
sum += i
}
fmt.Println(sum) //45
}
초기문, 사후구문(증감문) 생략
sum := 1
//for ; 조건문;
for ; sum < 1000; {
sum += sum
}
fmt.Println(sum) //1024
i := 1
// 무한 반복
for{
fmt.Println(i)
i++
}
무한루프 종료
i := 1
// break
for{
fmt.Println(i)
i++
if i ==10 {
break
}
}
반복문의 다음 코드를 실행하지 않고 다음 반복문으로 넘어감
//continue
for i := 0; i < 10; i ++ {
if i == 5 {
continue
}
fmt.Println(i)
}
결과값
0
1
2
3
4
6
7
8
9
배열이나 슬라이스 요소를 순회할때 사용. 인덱스와 값을 반환
arr := [5]int{1, 2, 3, 4, 5}
//for range
for i, v := range arr {
fmt.Printf("index: %d, value: %d\n", i, v)
}
package main
import (
"fmt"
)
func main() {
arr := [10]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
for i, v := range arr {
fmt.Println(i, v)
}
}
결과 값
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10