inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Khóa học cơ bản nhập môn về lập trình ngôn ngữ GO nhanh chóng và dễ dàng

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

668

oasis92126732

6 câu hỏi đã được viết

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

Câu trả lời 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