강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

song.sh님의 프로필 이미지
song.sh

작성한 질문수

쉽고 빠르게 끝내는 GO언어 프로그래밍 핵심 기초 입문 과정

함수 심화

재귀 함수 관련하여 질문이 있습니다.

작성

·

325

0

func fact(n int) int {
	if n == 0 {
		return 1 // 함수 종료
	}
	return n * fact(n-1)
}

return 값을 0,1 값을 줘서 출력을 해봤는데 

0 을 줄 때는 출력이 0 나오고
1 을 줄 때는 120 나오던데 
return 값을 정확하게 이해가 잘 안됩니다 .... 

답변 1

0

좋은사람님의 프로필 이미지
좋은사람
지식공유자

안녕하세요.반갑습니다.

fact(0) 일 경우 -> 0 출력

fact(1) 일 경우 -> 1 출력

함수 테스트 결과 정상적으로 수행하는데 결과값이 다르게 나오나 보네요!

다시 한 번 아래 전체코드를 올려드립니다. 참고 부탁드립니다.

 

// Print "Hello World!" message

package main

import "fmt"

func fact(n int) int {

if n == 0 {

return 1 // 함수 종료

}

return n * fact(n-1)

}

func main() {

fmt.Println(fact(10))

}

song.sh님의 프로필 이미지
song.sh

작성한 질문수

질문하기