오늘은 함수에 대해서 알아보곘습니다. 함수란 저희가 어렸을 적 지겹도록 배워왔던 y=F(x)이라고 알고 있을 텐데 프로그래밍 언어에서도 함수란 우리가 알고 있던 것과 그리 다르지 않답니다. 특히 코딩을 할때 반복되는 작업을 해야할 경우가 굉장히 많을 텐데 그때 함수를 만들어서 사용한다면 코드의 길이도 줄일 수 있고 작업들도 빠르게 실행을 할 수 있습니다. 그럼 함수에 대해서 더 자세히 알아보겠습니다!
//매개변수와 반환값 둘 다 있는 경우
func 함수이름(매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입 ...) -> 반환타입 {
/* 함수 구현부 */
return 반환값
}
스위트프에서 함수의 형태는 다음과 같습니다. 위의 형태는 함수에 매개변수와 반환값이 있는 경우이고 상황에 따라 매개변수가 없을 수도 반환값이 없을 수도 있습니다.
//매개변수가 없는 경우
func 함수이름() -> 반환타입 {
/* 함수 구현부 */
return 반환값
}
매개변수가 없는 경우에는 단순히 매개변수를 쓰는 괄호를 비워두면 됩니다.
//반환값이 없는 경우
func 함수이름() -> void{
/* 함수 구현부 */
}
기존의 반환타입에 void를 넣어서 반환값이 없다는 것을 알려주면 됩니다! 당연히 반환값이 없으니까 함수안에 return 또한 필요하지 않게되겠죠?
아주 간단한 더하기 함수를 만들어 보겠습니다.
func add (a:Int, b:Int) -> Int {
var sum : Int
sum = a + b
return sum
}
let result = add(a: 4, b: 5)
print("\(result)")
Swift에서 함수의 형태는 위의 코드와 같습니다. func으로 함수라는 것을 알려주고 함수명을 정하고 괄호안에 매개변수들과 그들의 자료형을 넣어줍니다. "-> 자료형"으로 반환할 값의 자료형을 정해준 후 대괄호 안에 함수의 내용을 넣는 식입니다. 형식만 다른 프로그래밍 언어와 조금의 차이가 있을 뿐 그리 어렵지는 않죠?? 함수를 호출 할때는 add(a: 4, b: 5) 이런 식으로 매개변수들에게 값을 지정해 준 후 호출하면 되겠습니다. 결과를 살펴보죠.
결과값이 잘 나왔군요!!
간단한 함수를 하나 더 알아보겠습니다. 이번에는 문자열로 반환을 하는 함수를 만들어 볼게요.
func string_ex (name:String, age:Int, height:Double) -> String {
return "my name is \(name), age is \(age), height is \(height)"
}
let sentence = string_ex(name: "Song", age: 24, height: 182)
print(sentence)
역시 위와 같은 형태로 함수를 만들어준뒤 호출을 해서 출력을 해볼 수 있었습니다.
코드가 길고 같은 코드를 반복해서 사용할 때에는 함수가 필수적입니다! 함수를 잘 활용해서 더 짜임새 있는 코드를 만들어야 겠다는 생각을 했습니다.
오늘은 Swift의 함수에 대해 알아봤습니다. 이렇게 언어만 가지고 공부할때는 쉬웠지만 나중에 iOS 앱개발을 직접 하면서 함수를 사용한다면 복잡하겠지요..? 오늘도 수고 많으셨습니다~
print(result) 가 아닌 print("(result)") 인 이유가 있을까요?