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~~! 엌ㅋㅋㅋㅋㅋㅋㅋ