go에는 JS처럼 for of / for in / map 등등이 필요없고 for 하나로 기능을 다한다.
for로 간단한 기능을 구현해 보자. range도 이용해서 array에 loop를 적용할 수 있도록 해준다.
package main
import (
"fmt"
)
func superAdd(numbers ...int) int {
fmt.Println(numbers)
return 1
}
func main() {
superAdd(1, 2, 3, 4, 5, 6)
}
// [1 2 3 4 5 6]
array에서 반복이 일어나도록 해보자. 조건에 따라서 반복 실행을 하도록 아래 코드를 짠다. 보면 range는 index를 주기 때문에 0 1 2 3 4 5로 나오게 된다.
package main
import (
"fmt"
)
func superAdd(numbers ...int) int {
for number := range numbers {
fmt.Println(number)
}
return 1
}
func main() {
superAdd(1, 2, 3, 4, 5, 6)
}
// 0
// 1
// 2
// 3
// 4
// 5
number도 넣어서 보면 아래와 같다. 이렇게 range를 사용해서 loop를 만드는 방법을 볼 수 있다.
package main
import (
"fmt"
)
func superAdd(numbers ...int) int {
for index, number := range numbers {
fmt.Println(index, number)
}
return 1
}
func main() {
superAdd(1, 2, 3, 4, 5, 6)
}
// 0 1
// 1 2
// 2 3
// 3 4
// 4 5
// 5 6
아래와 같이 할 수도 있다.
package main
import (
"fmt"
)
func superAdd(numbers ...int) int {
for i := 0; i < len(numbers); i++ {
fmt.Println(numbers[i])
}
return 1
}
func main() {
superAdd(1, 2, 3, 4, 5, 6)
}
// 1
// 2
// 3
// 4
// 5
// 6
모든 값을 합쳐보면 아래와 같다.
package main
import "fmt"
func superAdd(numbers ...int) int {
total := 0
for _, number := range numbers {
total += number
}
return total
}
func main() {
result := superAdd(1, 2, 3, 4, 5, 6)
fmt.Println(result)
}
// 21
<출처 노마드 코더: 쉽고 빠른 Go 시작하기>
https://nomadcoders.co/go-for-beginners/lobby
Watch Now – 노마드 코더 Nomad Coders
nomadcoders.co
'Golang' 카테고리의 다른 글
Pointers (0) | 2021.12.12 |
---|---|
if & switch (0) | 2021.12.12 |
Functions (2) (0) | 2021.12.11 |
Functions (1) (0) | 2021.12.11 |
go: cannot find main module error (0) | 2021.12.11 |