inflearn logo
강의

講義

知識共有

GO言語プログラミングの基礎を簡単に、素早く習得できる入門コース

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

668

oasis92126732

投稿した質問数 6

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언어는 안그런가요??

go

回答 3

0

niceman

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

0

oasis92126732

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

0

niceman

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

 

정확히 소스코드 내용은 잘 모르겠으나, 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)
}

고 인터페이스 관련

0

91

2

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

0

70

1

vscode 설정

0

155

2

arm64

0

223

2

undefined 에러 : UndeclaredImportedName

0

365

1

godoc 에러 관련

0

220

1

package is not in std 오류

0

1024

1

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

0

252

1

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

0

238

1

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

0

212

1

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

0

293

1

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

0

213

1

golang 질문

0

324

1

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

0

359

1

atom 서비스 종료 관련

0

421

1

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

1

435

2

waitGroup.Done을 지연 시키는 방식

0

468

1

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

0

280

1

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

0

352

1

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

0

844

1

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

1

274

1

import 관리는 어떻게 하나요?

0

325

1

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

0

502

1

이것도 closure인가요?

0

256

1