강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của oasis92126732
oasis92126732

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

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 에서 안멈추나요??

Viết

·

654

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님의 프로필 이미지
niceman
Người chia sẻ kiến thức

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

0

oasis92126732님의 프로필 이미지
oasis92126732
Người đặt câu hỏi

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

0

niceman님의 프로필 이미지
niceman
Người chia sẻ kiến thức

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

 

정확히 소스코드 내용은 잘 모르겠으나, 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)
}
Hình ảnh hồ sơ của oasis92126732
oasis92126732

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

Đặt câu hỏi