• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

재귀함수 (리턴값 void) 일때 return 에서 안멈추나요??

19.08.13 22:43 작성 조회수 466

0

func checking(location int, ary2 []int) {

if location==7 {
total:=suming(ary2)
if total==100{
return
}
}else{
for i:=0;i<=8;i++{
if overlap(ary2,i){
ary2[location]=i
checking(location+1,ary2)
ary2[location]=-1
}else{
continue
}
}
}
}

재귀함수를 만들어서 리턴을 취할라 했는데 되지 않아요. 기존언어일 경우에서 그래도 멈추게 하는데 go언어는 안그런가요??

답변 3

·

답변을 작성해보세요.

0

네 void 일 경우에도 재귀가 가능합니다. 구현하시려는 재귀함수 패턴을 잘 생각해보시면 될 것같습니다.

0

전건수님의 프로필

전건수

질문자

2019.08.16

넵 감사합니다. 혹시 void  일 경우에도 동일한 거죠??

0

안녕하세요. 건수님 열심히 하시네요.

 

정확히 소스코드 내용은 잘 모르겠으나, return 또는 조건 가능합니다.

 

아래 샘플 소스를 올려드립니다.

 

func Function1(n int) int {
    a := 10
    var Function2 func(m int) int

    Function2 = func(m int) int {
        if m <= a {
            return a
        }
        return Function2(m - 1)
    }

    return Function2(n)
}