-
카테고리
-
세부 분야
모바일 앱 개발
-
해결 여부
미해결
func displayCalc 부분에서의 질문입니다.
22.03.27 16:11 작성 조회수 174
0
선생님 함수를 받는 함수 부분에서 질문이 있습니다.
함수의 리턴값에 대해서 제대로 이해가 안된 것 같습니다.
제가 이해한 함수는 함수이름, 매개변수, 리턴타입, 실행구문, 리턴값이 있어야 하는걸로 알고 있는데 세가지 궁금한 점 여쭤보고싶었습니다 ㅠ
1. 10분 10초 부분에 38번줄 함수는 왜 리턴값이 없나요?
2. 함수를 38번줄 함수가 함수를 받는 함수라서 받아오는 함수 (예: plus)에 리턴값이 있기 때문에 굳이 리턴값을 안넣어도 되는건가요?
3. func easycalc (result: ((Int , Int) -> Int)) -> String {
return "결과 : \(result(a,b))"
}
제가 이해한 대로라면 이렇게 썼을 것 같은데 이 문장은 틀린 문장인가요?
답변을 작성해보세요.
1
iOS Developer - 이정
지식공유자2022.03.28
안녕하세요
calc함수 내부에서만 로직처리가 끝나면 리턴이 필요 없습니다.
반대로 calc함수를 통해 나온 결과값으로 뭔가를 하고 싶으면 리턴이 필요하겠죠.
func easycalc (result: ((Int , Int) -> Int)) -> String {
return "결과 : \(result(a,b))"
}
질문에 쓰신 함수를 보면 리턴이 있기 때문에 아래처럼 함수결과를 변수로 받거나 하는등 결과로 뭔가를 할 수 있습니다.
var calcResult = easycalc(result: plus)
easycalc 함수에 리턴이 없다면 위처럼 결과를 받아오는건 안되겠죠.
함수에서 리턴을 사용할지 안할지 판단은
함수에서 나오는 값으로 처리를 할건지
함수 내부에서만 값을 처리할건지로 구분하시면 될 것 같습니다.
답변 1