728x90
1. for
- Go는 반복문에서도 괄호는 쓰지 않는다.
- while 반복문이 없다.
func main() {
sum := 0
for i := 1; i <= 100; i++ {
sum += i
}
println(sum)
}
// while 대신
func main() {
n := 1
for n < 100 {
n *= 2
//if n > 90 {
// break
//}
}
println(n)
}
- 무한 루프는 조건을 다 없애고 for만 써준다.
func main() {
for {
println("Infinite loop")
}
}
2. for range
- for range 문은 for "인덱스,요소값 := range 컬렉션" 컬렉션에서 2개의 변수를 가져온다.
- 변수를 사용 안할 경우 _로 처리한다.
names := []string{"기억", "니은", "디귿"}
for index, name := range names {
println(index, name)
// 0, 기억
// 1, 니은
// 2, 디귿
}
for _, name := range names {
println(name)
// 기억
// 니은
// 디귿
}
3. break, continue, goto 문
- break과 continue는 다른 언어랑 같은 기능을 한다.
- goto는 java, javascript를 하면서 못본 기능인데, c언어에서는 있다고 한다.
func main() {
var a = 1
for a < 15 {
if a == 5 {
a += a
continue // for루프 시작으로
}
a++
if a > 10 {
break //루프 빠져나옴
}
}
if a == 11 {
goto END //goto 사용예
}
println(a)
END:
println("End")
}
4. break문 다른 활용
- 이런 break는 사용법은 사용해본적이 없다.
func main() {
i := 0
L1:
for {
if i == 0 {
break L1
}
}
println("OK")
}
- 조건에 해당하여 L1으로 가지만, break의 영향으로 for문을 지나치고 "OK"출력 후 종료 된다.
참고 사이트
http://golang.site/go/article/8-Go-%EB%B0%98%EB%B3%B5%EB%AC%B8
728x90
'개발 > Go' 카테고리의 다른 글
[Go] 기초 - 익명함수 (0) | 2022.07.18 |
---|---|
[Go] 기초 - 함수 (0) | 2022.07.17 |
[Go] 기초 - 조건문 (0) | 2022.07.15 |
[Go] 기초 - 연산자 (0) | 2022.07.13 |
[Go] 기초 - 데이터 타입 (0) | 2022.07.13 |