not bad 한 개발

Swift - func(함수) 본문

Swift

Swift - func(함수)

leebean 2021. 10. 9. 15:17

(인덕대학교 컴퓨터소프트웨어학과 iOS프로그래밍기초(21-2학기)한성현 교수님 강의 내용을 변형 및 요약 했습니다.)

 

func(함수)

  • 함수는 특정 작업을 수행하기 위한 독립적인 코드 집합입니다.
  • //선언방법
    func [함수명]([외부 매개변수] [내부 매개변수]: [자료형]) -> [리턴형]{
    	return [내부 매개변수]
        //함수를 정의할 때는 내부 매개변수명을 사용합니다.
    }
    [함수명]([외부 매개변수])
    //함수를 호출할 때는 외부 매개변수명을 사용합니다.
  • 선언시 외부 매개변수명은 생략이 가능합니다.
  • 외부 매개변수명을 생략한 경우 함수를 호출할 때에는 내부 매개변수명을 사용합니다.
  • 매개변수(parameter)와 인수(argument)는 차이점이 있습니다.
  • 함수 정의의 값을 매개변수, 호출시의 값은 아규먼트라고 부릅니다.

 

(BMI계산기 함수 예제)

import Foundation
 
func Bmi (wei :Double , hei :Double ){
	let bmi = wei/(hei * hei*0.0001 )
	let shortBmi = String (format :"%.1f", bmi )
	Check(checkBmi :bmi ,result :shortBmi )
}
func Check (checkBmi :Double , result :String ){
	switch checkBmi {
	case 0.0..<18.5 :
		print ("BMI:\(result) 판정 : 저체중")
	case 18.5..<25.0 :
		print ("BMI:\(result) 판정 : 정상")
	case 25.0..<30.0 :
		print ("BMI:\(result) 판정 : 1단계 비만")
	case 30.0..<40.0 :
		print ("BMI:\(result) 판정 : 2단계 비만")
	default :
		print ("BMI:\(result) 판정 : 3단계 비만")
	}
}
Bmi(wei :75.0 , hei :180.0 )

 

(BMI계산기 함수 리턴 예제)

import Foundation
 
func Bmi (wei :Double , hei :Double )->String {
	let bmi = wei /(hei * hei*0.0001 )
	let shortBmi = String (format :"%.1f", bmi )
	let body = Check (checkBmi :bmi )
	return "BMI:\(shortBmi) 판정:\(body)"
}
func Check (checkBmi :Double )->String {
var checkBody = ""
	switch checkBmi {
		case 0.0..<18.5 :
			checkBody = "저체중"
		case 18.5..<25.0 :
	 		checkBody = "정상"
		case 25.0..<30.0 :
	 		checkBody = "1단계"
		case 30.0..<40.0 :
			checkBody = "2단계"
		default :
	 		checkBody = "3단계"
	}
	return checkBody
}
print (Bmi (wei :85.0 , hei :180.0 ))

 

(함수의 타입, 이름 알아내기)

import Foundation

func plus1(num1: Int, num2: Int) -> Int{
    print(#function)//plus1(num1:num2:) 출력됩니다.
    return(num1+num2)
}

func plus2(first num1: Int, second num2: Int) -> Int{
    print(#function)//plus2(first:second:) 출력됩니다.
    return(num1+num2)
}

func plus3(_ num1: Int, _ num2: Int) -> Int{
    print(#function)//plus1(_:_:) 출력됩니다.
    return(num1+num2)
}

func plus4(_ num1: Int, with num2: Int) -> Int{
    print(#function)//plus1(_:with:) 출력됩니다.
    return(num1+num2)
}

print(plus1(num1:10,num2:20))
print(plus2(first:10,second:20))
print(plus3(10,20))
print(plus4(10,with:20))

print(type(of:plus1))//(Int, Int) -> Int 출력됩니다.
print(type(of:plus2))//(Int, Int) -> Int 출력됩니다.
print(type(of:plus3))//(Int, Int) -> Int 출력됩니다.
print(type(of:plus4))//(Int, Int) -> Int 출력됩니다.

 

'Swift' 카테고리의 다른 글

Swift - func(함수) 여러 개의 결과 반환  (0) 2021.10.09
Swift - func(함수) 디폴트 매개변수 정의  (0) 2021.10.09
Swift - fallthrough문  (0) 2021.10.04
Swift - where절  (0) 2021.10.04
Swift - switch-case문  (0) 2021.10.04
Comments