본문 바로가기
언어/Go

for, range, ...args

by gun_poo 2022. 2. 13.

loop

 

  • range : array에 loop 를 적용 할 수 있게 해줌, for 안에서만 사용 가능하다.
package main

import (
	"fmt"
)

func supperAdd(numbers ...int) int {
	for number := range numbers {
		fmt.Println(number)
	}
	return 1
}
func main() {
	supperAdd(1, 2, 3, 4, 5)
}
0
1
2
3
4

range는 index를 주기 때문에 다음과 같이 작성하면 1 2 3 4 5 6 이 나온다

package main

import (
	"fmt"
)

func supperAdd(numbers ...int) int {
	for index, number := range numbers {
		fmt.Println(index, number)
	}
	return 1
}
func main() {
	supperAdd(1, 2, 3, 4, 5)
}
0 1
1 2
2 3
3 4
4 5

다음과 같이 작성도 가능

package main

import (
	"fmt"
)

func supperAdd(numbers ...int) int {
	for i := 0; i < len(numbers); i++ {
		fmt.Println(numbers[i])
	}
	return 1
}
func main() {
	supperAdd(1, 2, 3, 4, 5)
}
1
2
3
4
5

package main

import (
	"fmt"
)

func supperAdd(numbers ...int) int {
	total := 0
	for _, number := range numbers {
		// total = total + number
		total += number
	}

	return total
}
func main() {
	result := supperAdd(1, 2, 3, 4, 5)
	fmt.Println(result)
}
15

 

'언어 > Go' 카테고리의 다른 글

go test sample study  (0) 2022.07.21
If with a Twist  (0) 2022.02.13
Functions part Two  (0) 2022.02.13
Functions part One  (0) 2022.02.13
Variables and Constants  (0) 2022.02.13

댓글