Go
언어에서의 반복문은for
문만 사용 가능합니다.While
문이 없기 때문에for
문으로 모든 반복을 해결합니다.
if
문과 마찬가지로 괄호가 없으니 주의하시길 바랍니다.
package main
import "fmt"
func main() {
sum := 0
for i := 0; i <= 10; i++ {
sum += i
}
/** -> 55 */
fmt.Println(sum)
}
for
문을 타언어의while
문 처럼 사용할 수 있습니다.
package main
import "fmt"
func main() {
sum :=1
for sum < 100 {
sum += sum
}
fmt.Println((sum))
}
무한루프를 만들고 싶은 경우 아무것도 안주고
for
만 사용하면 됩니다.
package main
func main(){
for{
}
}
배열이나 슬라이스, 맵을 순회할 때
range
키워드를 사용하여 순회할 수 있습니다.키,
index
가 들어가고 두번째에는 값이 들어갑니다. 여기서 값이 숫자로 나오는 이유는 아스키 코드 테이블에 의해 매핑된 값이 출력되기 때문입니다.
Go
에서는rune
에 대해 출력을 하게 되면 자동으로 코드값으로 바꿔준다
package main
import "fmt"
func main() {
runes := []rune{'A','B','C'}
for _, r := range runes {
fmt.Println(r)
}
}
반복문을 제어하는 방법으로는
break
,continue
키워드가 있습니다.break
를 사용하면 즉시 반복문에서 탈출하고,continue
를 사용하면 그 이후 표현식은 모두 무시하고 다시 조건식으로 되돌아갑니다.아래의 코드는 2로 나누었을 때 나머지 값이 0일 경우에는
continue
가 실행되어 계속하여num
을 출력하고 11을 조건에 검사할때는 2로 나누어지지 않기 때문에break
가 실행되어 반복문을 탈출합니다.
package main
import "fmt"
func main() {
numbers := []int{2,4,6,8,10,11,14}
for _,num := range numbers {
if num%2 == 0 {
/** -> 2, 4, 6, 8, 10 */
fmt.Println(num)
continue
}
break
}
}
Go 언어 공부 GoGo~~! 엌ㅋㅋㅋㅋㅋㅋㅋ