inflearn logo
강의

Course

Instructor

GO Language Programming Core Basics Introduction Course, Easy and Quick to Complete

Advanced Functions

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

346

songsehwa10426

5 asked

0

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

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

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

go

Answer 1

0

niceman

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

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))

}

고 인터페이스 관련

0

69

2

Join함수 사용이유가 궁금합니다

0

54

1

vscode 설정

0

126

2

arm64

0

202

2

undefined 에러 : UndeclaredImportedName

0

343

1

godoc 에러 관련

0

206

1

package is not in std 오류

0

986

1

맵 예제 코드가 바이러스 검사에 걸려요

0

234

1

for 반복문에서 break와 continue 차이점

0

224

1

후치연산 관련 질문입니다.

0

197

1

package관리에 질문이 있습니다.

0

282

1

go channel 에제에서 질문이 있습니다.

0

193

1

golang 질문

0

310

1

atom 서비스 종료 관련

0

403

1

vscode 환경설정 업데이트 부탁드립니다

1

404

2

waitGroup.Done을 지연 시키는 방식

0

450

1

첫 번째 예제 질문있습니다.

0

263

1

2개씩 체크가 되는 이유가 궁금합니다.

0

328

1

go 표준 코드 컨벤션이 있나요?

0

825

1

slice에서 make 궁금한 게 있습니다.

1

262

1

import 관리는 어떻게 하나요?

0

317

1

개발환경설정 질문드립니다.

0

486

1

이것도 closure인가요?

0

238

1

짧은 선언으로 변수 여러개를 만들때

0

241

1