가장 빨리 만나는 Go 언어 Unit 24.4 재귀호출 사용하기

저작권 안내
  • 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
  • 책 또는 웹사이트의 내용을 발췌, 요약하여 강의 자료, 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.

함수 사용하기

이재홍 http://www.pyrasis.com 2014.12.17 ~ 2015.02.07

재귀호출 사용하기

함수에서 자기 자신을 다시 호출하는 함수를 재귀함수(Recursive function)라고 합니다. 다음은 팩토리얼을 재귀함수로 구현한 예제입니다.

package main

import "fmt"

func factorial(n uint64) uint64 {
	if n == 0 {
		return 1
	}

	return n * factorial(n-1)
}

func main() {
	fmt.Println(factorial(5)) // 120
}
실행 결과
120

처음에 값 n을 받은 뒤 계속 n-1을 하여 자기 자신을 호출합니다. 그리고 n이 0이 되면 1을 리턴한뒤 재귀호출을 중단하고, 함수가 리턴되면서 곱셈 결과를 누적하는 방식입니다.


저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.

Published

2015-06-01