-
(Swift) 함수 사용법 정리Programing Language/Swift 2019. 10. 10. 11:03728x90반응형
1. 함수선언의 기본형태
func 함수이름(매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입 ...) -> 반환타입 { /* 함수 구현부 */ return 반환값 } // 예) // sum이라는 이름을 가지고 // a와 b라는 Int 타입의 매개변수를 가지며 // Int 타입의 값을 반환하는 함수 func sum(a: Int, b: Int) -> Int { return a + b } sum(a : 1, b: 2) //3 func sumA(_ a :Int , _ b : Int)-> Int { return a + b } sumA(1 + 3) //3 func 에 '_'을 넣고 안넣고의 차이는 함수를 불러올때 함수의 변수값에 변수명과 값을 다적고 안적고의 차이이다.
중요 포인트!!!!
func 에 '_'을 넣고 안넣고의 차이는 함수를 불러올때 함수의 변수값에 변수명과 값을 다적고 안적고의 차이이다.
2. 반환 값이 없는 함수
func 함수이름(매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입 ...) -> Void { /* 함수 구현부 */ return } // 예) func printMyName(name: String) -> Void { print(name) } // 반환 값이 없는 경우, 반환 타입(Void)을 생략해 줄 수 있습니다 func printYourName(name: String) { <- Void의 경우에 축약형이 가능하다! print(name) }
--------------------------------------------헷갈림 --------------------------------
3. 데이터 타입으로서의 함수
- 눈 여겨 볼 부분은 함수를 변수에 넣을 수 있다는 점이다.
// 함수 내부에서 전달인자를 사용할 때에는 매개변수 이름을 사용합니다 func greeting(to friend: String, from me: String) { print("Hello \(friend)! I'm \(me)") } // 함수를 호출할 때에는 전달인자 레이블을 사용해야 합니다 greeting(to: "hana", from: "yagom") // Hello hana! I'm yagom // 앞에서 선언한 함수를 변수에 넣을수 있다 <- 이게 java랑 많이 다른듯!! var someFunction: (String, String) -> Void = greeting(to:from:) someFunction("eric", "yagom") // Hello eric! I'm yagom someFunction = greeting(friend:me:) someFunction("eric", "yagom") // Hello eric! I'm yagom // 타입이 다른 함수는 할당할 수 없습니다 - 컴파일 오류 발생 //someFunction = sayHelloToFriends(me: friends:) func runAnother(function: (String, String) -> Void) { function("jenny", "mike") } // Hello jenny! I'm mike runAnother(function: greeting(friend:me:)) // Hello jenny! I'm mike runAnother(function: someFunction)
728x90반응형'Programing Language > Swift' 카테고리의 다른 글
(Swift) 반복문 (0) 2019.10.10 (Swift) 조건문 정리 (0) 2019.10.10 (Swift) 컬렉션 타입 [Array, Dictionary, Set] (0) 2019.10.10 (Swift) 기본데이터 타입 [총정리] (0) 2019.10.09 안드로이드 개발자가 정리하는 Android, iOS 비교표 (0) 2019.10.09