- μ λ¬ μΈμ λ μ΄λΈ
- ν¨μλ₯Ό νΈμΆν λ ν¨μ μ¬μ©μμ μ μ₯μμ 맀κ°λ³μμ μν μ μ’ λ λͺ ννκ² νννκ³ μ ν λ μ¬μ©νλ€.
- μ λ¬μΈμ λ μ΄λΈμ λ³κ²½νμ¬ λμΌν μ΄λ¦μ ν¨μλ₯Ό μ€λ³΅μΌλ‘ μμ±κ°λ₯νλ€.
func ν¨μμ΄λ¦(μ λ¬μΈμ λ μ΄λΈ 맀κ°λ³μ1μ΄λ¦: 맀κ°λ³μ1νμ
, μ λ¬μΈμ λ μ΄λΈ 맀κ°λ³μ2μ΄λ¦: 맀κ°λ³μ2νμ
...) -> λ°ννμ
{
/* ν¨μ ꡬνλΆ */
return
}
// ν¨μ λ΄λΆμμ μ λ¬μΈμλ₯Ό μ¬μ©ν λμλ 맀κ°λ³μ μ΄λ¦μ μ¬μ©νλ€
func greeting(to friend: String, from me: String) {
print("Hello \(friend)! I'm \(me)")
}
// ν¨μλ₯Ό νΈμΆν λμλ μ λ¬μΈμ λ μ΄λΈμ μ¬μ©ν΄μΌ νλ€
greeting(to: "hana", from: "kdgt") // Hello hana! I'm kgdt
Tip : ν¨μ λ΄λΆμμλ 맀κ°λ³μ μ΄λ¦μ μ¬μ©νκ³ ν¨μ νΈμΆμμλ μ λ¬μΈμ λ μ΄λΈμ μ¬μ©νλ€.
- κ°λ³ 맀κ°λ³μ
- μ λ¬ λ°μ κ°μ κ°μλ₯Ό μκΈ° μ΄λ €μΈ λ μ¬μ©νλ€.
- κ°λ³ 맀κ°λ³μλ ν¨μλΉ νλλ§ κ°μ§ μ μλ€.
- κΈ°λ³Έκ°μ΄ μλ 맀κ°λ³μμ κ°μ΄ κ°λ³ 맀κ°λ³μ μμ 맀κ°λ³μ λͺ©λ‘ μ€ λ€μͺ½μ μμΉνλ κ²μ΄ μ’λ€.
//func ν¨μμ΄λ¦(맀κ°λ³μ1μ΄λ¦: 맀κ°λ³μ1νμ
, μ λ¬μΈμ λ μ΄λΈ 맀κ°λ³μ2μ΄λ¦: 맀κ°λ³μ2νμ
...) -> λ°ννμ
{
// /* ν¨μ ꡬνλΆ */
// return
//}
func sayHelloToFriends(me: String, friends: String...) -> String {
return "Hello \(friends)! I'm \(me)!"
}
print(sayHelloToFriends(me: "kdgt", friends: "hana", "eric", "wing"))
// Hello ["hana", "eric", "wing"]! I'm kdgt!
print(sayHelloToFriends(me: "kdgt"))
// Hello []! I'm kdgt!
Tip : κ°λ³ 맀κ°λ³μμλ nilμ μΈ μ μλ€.
- λ°μ΄ν° νμ μΌλ‘μμ ν¨μ
- μ€μννΈλ ν¨μν νλ‘κ·Έλλ° ν¨λ¬λ€μμ ν¬ν¨νλ λ€μ€ ν¨λ¬λ€μ μΈμ΄μ΄λ―λ‘ μ€μννΈμ ν¨μλ μΌκΈκ°μ²΄μ΄λ€. κ·Έλμ ν¨μλ₯Ό λ³μ, μμ λ±μ ν λΉμ΄ κ°λ₯νκ³ λ§€κ°λ³μλ₯Ό ν΅ν΄ μ λ¬ν μλ μλ€.
- ν¨μμ νμ νν : λ°ν νμ μ μλ΅ν μ μλ€.
var someFunction: (String, String) -> Void = greeting(to:from:)
someFunction("eric", "kdgt") // Hello eric! I'm kdgt
someFunction = greeting(friend:me:)
someFunction("eric", "kdgt") // Hello eric! I'm kdgt
// νμ
μ΄ λ€λ₯Έ ν¨μλ ν λΉν μ μλ€ - μ»΄νμΌ μ€λ₯ λ°μ
//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)
Tip : ν¨μλ λ³μλ‘ ν λΉμ΄ κ°λ₯νλ€! Swiftμμλ λμ΄μ°κΈ°κ° μ€μνλ€.