Go의 Loop를 알아보아요
- Go의 looping은 오직 for loop 하나만 가능하다
-
slice나 map에 loop를 적용할 수 있도록 해준다
-
range는 loop의 index와 value를 준다!
-
단, for 안에서만 사용할 수 있다
-
ex)
package main import "fmt" func addAll(numbers ...int) int { total := 0 // for loop w/ range for _, number := range numbers { total += number } return total } func main() { total := addAll(1, 2, 3, 4, 5, 6, 7, 8, 9) fmt.Println(total) }
-
-
range를 활용하여 loop를 순회하면, 아래와 같이 두 개의 value를 return 한다
- index
- copy of the element at that index
-
만약 index가 필요 없고 값만 필요하다면, 위의 예시처럼 ignored value인 underscore (
_
) 를 사용하면 된다
+
range 를 사용한 for loop는 python 의 enumerate 와 유사하다!
-
Range 없이도 for loop를 만들 수 있다
-
ex)
func add(numbers ...int) { for i := 0; i < len(numbers); i++ { fmt.Println(i) } }
-
-
but, 코드가 길어지고 비효율적이므로 안 쓰게 될 것 같다!