naked return 은 리턴할 값을 따로 지정해주지 않아도 다음과 같이 반환할 수 있다.
(하지만 지정해줘도 상관없음.)
func lenAndUpper(name string) (length int, uppercase string){
length = len(name)
uppercase = strings.ToUpper(name)
return
}
defer는 함수가 종료되고 나면 실행하도록 한다.
golang에서의 반복문은 for 밖에 없다. (일단 여기 강의에선 그럼.)
range 는 array에 loop를 적용할 수 있게 해준다.
그리고 range 는 for문 안에서만 사용이 가능하다.
func superAdd(numbers ...int) int {
for index, number:= range numbers {
fmt.Println(index, number)
}
return 1
}
func superAdd(numbers ...int) int {
for i:=0; i<len(numbers); i++ {
fmt.Println(numbers[i])
}
return 1
}
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