iOS 관련 공부
함수의 형태
가애야
2024. 12. 24. 11:06
1) 함수가 인풋(input)이 있는 경우
// 함수 정의문
func saySomething(name: String) {
print("안녕하세요 \(name) 님")
}
// 함수 실행문(call)
saySomething(name: "스티브")
name: String 파라미터 Parameter(매개변수/인자)
name: "스티브" 아규먼트 Argument(인수)
인풋이 있는 경우 어떤 타입으로 작성하는지 명시
2) 함수가 아웃풋(output)이 있는 경우 - 결과값이 나오는 경우
// 아웃풋 앞에 return이라는 키워드를 사용해야 한다.
func sayHelloString() -> String {
return "안녕하세요"
}
sayHelloString()
print(sayHelloString() + " 잡스 님")
// 함수를 호출하는 것도 표현식이 될 수 있다.(리턴형이 있는 경우)
// (표현식의 결과는 함수가 리턴하는 값)
var name1 = sayHelloString()
3) 인풋과 아웃풋이 모두 있는 경우
// 함수 정의문
func plusFuntion(a: Int, b: Int) -> Int {
let c = a + b
return c // 아웃풋이 있는 경우, 리턴키워드를 사용해야함
}
// 함수 실행문(call)
plusFuntion(a: 3, b: 4)
print(plusFuntion(a: 5, b: 6))
함수에서 아웃풋은 반드시 하나의 타입만 나올 수 있다.
Void 타입의 이해 (아웃풋이 없는 경우)
func sayhello1() {
print("Hello, Swift!")
}
func sayhello2() -> Void { // void 빈
print("Hello, Swift!")
}
func sayhello3() -> () {
print("Hello, Swift!")
}
리턴형이 없는 경우 세가지 모두 가능
리턴 타입이 없는 함수(Void 타입) vs 리턴타입이 있는 함수의 차이
리턴 타입이 없는 함수 ➞ 결과는 Void 타입
sayhello1() // 제어권
// 이렇게 사용하는 경우는 없음
//var hello: Void = sayhello1()
리턴 타입이 있는 함수 ➞ 결국 결과로 "값"이 있는 것 ➞ (일반적으로)사용
// 함수 자체를 값으로 볼 수 있음
print(sayHelloString()) // 제어권 + 결과값
퀄럭퀄럭!!!! 독감으로 아직도 힘든 나