ν¨μ
μμ μ κ°μ₯ μμ λ¨μμ΄μ μ½λμ μ§ν©μ΄λ€. ν¨μλ₯Ό μ¬μ©νλ μ΄μ λ λ°λ³΅μ μΈ νλ‘κ·Έλλ°μ νΌν μ μκΈ° λλ¬Έμ μ¬μ©νλ€. ν¨μλ₯Ό μμ±ν΄ λκ³ , νλ‘κ·Έλλ° λμ€ λ°λ³΅ν΄μ μνν΄μΌν μμ μ΄ μμΌλ©΄ ν¨μλ₯Ό νΈμΆνλ©΄μ λ°λ³΅μ μΈ νλ‘κ·Έλλ°μμ λ²μ΄λ μ μλ€.
ν¨μμ ν¬κΈ°λ μ ν΄μ§ κ²μ μμ§λ§, λλΆλΆ νλμ κΈ°λ₯μ μν ν¨μ νκ°λ₯Ό λ§λλ κ²μ΄ μ’λ€.
Swiftμ ν¨μ μ μ
func ν¨μλͺ
(νλΌλ―Έν° μ΄λ¦: λ°μ΄ν° νμ
) -> λ°ν νμ
{
return λ°ν κ°
}
ex) λ κ°μ κ°μ λν΄μ£Όλ ν¨μλ₯Ό μ μν΄λ³΄μ.
func sum(a: Int, b: Int) -> Int {
return a+b
}
// ν¨μ μ μ©
sum(a: 5, b: 3)
// prints 8
ex) 맀κ°λ³μκ° μλ hello ν¨μλ₯Ό μ μν΄λ³΄μ.
func hello () -> String {
return "hello"
}
ex) λ°νκ°μ΄ μλ ν¨μλ₯Ό μ μν΄λ³΄μ. λ κ°μ§μ λ°©λ²μ΄ μλ€.
// 1. λ°νκ°μ Void λ£μ
func printName() -> Void {
return "hello"
}
// 2. λ°νκ°μ μμ μ΄λ λ¨.
func printName() -> {
return "asdf"
}
ex) ν¨μ 맀κ°λ³μμ κΈ°λ³Έκ°μ λ£μ΄μ μ¬μ©ν μ μλ€.
μλμ κ°μ΄ κΈ°λ³Έκ°μ λ£μ΄μ£Όλ©΄ ν¨μλ₯Ό νΈμΆν λ κ°μ λκ²¨μ£Όμ§ μμλ κΈ°λ³Έκ°μ μ¬μ©ν μ μλ€. meλ κΈ°λ³Έκ°μ΄κΈ° λλ¬Έμ ν¨μλ₯Ό νΈμΆν λ μμ¨μ£Όμ΄λ λλ€.
func greeting(friend: String, me: String = 'didu') {
print("Hello, \(friend)! I'm \(me).")
}
greeting(friend: "Andy")
// prints "Hello, Andy! I'm didu."
ex) μ λ¬μΈμ λ μ΄λΈμ μ¬μ©ν΄μ ν¨μλ₯Ό μ μνκΈ°.
κΈ°λ³Έ ννλ μλμ κ°λ€. μ λ¬μΈμ λ μ΄λΈμ μ¬μ©νκ² λλ©΄ μ¬μ©μ μ μ₯μμ 맀κ°λ³μμ μν μ μ’ λ λͺ ννκ² νμΈν μ μμ΄μ μ½λμ κ°λ μ±μ΄ λμμ§λ€.
func ν¨μμ΄λ¦(μ λ¬μΈμ λ μ΄λΈ 맀κ°λ³μ μ΄λ¦: 맀κ°λ³μ νμ
, μ λ¬μΈμ λ μ΄λΈ 맀κ°λ³μ μ΄λ¦: 맀κ°λ³μ νμ
... ) -> λ°ν νμ
{
return λ°ν κ°
}
βΆ μΉκ΅¬μκ² μΈμ¬ λ©μΈμ§λ₯Ό 보λ΄λ λ©μλλ₯Ό λ§λ€μ΄λ³΄μ.
func sendMessage(from myName: String, to name: String) -> String {
return "Hello \(name)!, I'm \(myName)."
}
sendMessage(from: "didu", to: "Minsoo")
//prints "Hello Minsoo, I'm didu."
μ¬κΈ°μ μ λ¬μΈμ λ μ΄λΈμ "From"κ³Ό "To" μ΄λ€. ν¨μλ₯Ό νΈμΆν λ from ~~, to ~~ ν΄μ£Όλ©΄, fromμΌλ‘ λ€μ΄μ€λ 맀κ°λ³μκ° myNameμΌλ‘ μ μλκ³ , toλ‘ λ€μ΄μ€λ 맀κ°λ³μκ° nameμΌλ‘ μ μλ κ²μ΄λ€.
ex) κΈ°μ‘΄μΈμ΄μ²λΌ μ λ¬μΈμλ₯Ό μ¬μ©νκ³ μΆμ§ μλ€λ©΄, μμΌλ μΉ΄λ μλ³μλ₯Ό μ¬μ©νκΈ° (μΈλλ° _)
맀κ°λ³μ μμ μΈλλ°(_)λ₯Ό μ μ΄μ£Όλ©΄ μ λ¬μΈμ λ μ΄λΈμ μ¬μ©νμ§ μλ ν¨μλ₯Ό ꡬνν κ²μ΄λ€. μ΄λ κ² μ μΈν ν¨μλ₯Ό νΈμΆν λλ 맀κ°λ³μ μ΄λ¦μ λ°λ‘λ°λ‘ μμ μ΄μ£Όκ³ κ°λ§ μ μ΄μ ν¨μλ₯Ό νΈμΆ ν μ μλ€.
func sendMessage(_ name: String) -> String {
return "Hello \(name)."
}
// ν¨μ νΈμΆ
// νΈμΆ ν λ 맀κ°λ³μμ μ΄λ¦μ μ¬μ©νμ§ μκ³ , κ°μΌλ‘ λ°λ‘ νΈμΆ κ°λ₯
sendMessage("didu")
// prints "Hello didu."
ex) κ°λ³ 맀κ°λ³μλ₯Ό νμ©ν ν¨μ
swiftλ ν¨μμ λͺ κ°μ 맀κ°λ³μκ° λ€μ΄μ¬μ§ λͺ¨λ₯Ό λ, κ°λ³ 맀κ°λ³μλ₯Ό μ¬μ©ν μ μλ€. κ°λ³ 맀κ°λ³μλ 0κ° μ΄μμ κ°μ λ°μμ¬ μ μκ³ , κ°λ³λ§€κ°λ³μλ‘ λ€μ΄μ¨ 맀κ°λ³μλ λ°°μ΄μ²λΌ μ¬μ©ν μ μλ€. ν¨μλ§λ€ ν κ°μ κ°λ³ 맀κ°λ³μλ₯Ό μ¬μ©ν μ μλ€.
func sendMessage(me: String, friends: String...) -> String {
return "Hello \(friends)! I'm \(name)"
}
// ν¨μ νΈμΆ
sendMessage(me: "didu", friends: "minsoo", "suzi", "ann", "andy")
// prints : Hello ["minsoo", "suzi", "ann", "andy"]! I'm didu."
// λ°°μ΄λ‘ λ겨λ°μ!!!
'Swift > Swift BASIC' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Swift] κΈ°μ΄ λ¬Έλ² - guard ꡬ문 (guardλ₯Ό μ¬μ©νλ μ΄μ ) (2) | 2022.01.14 |
---|---|
[Swift] κΈ°μ΄ λ¬Έλ² - 쑰건문 (if, switch ꡬ문) (0) | 2022.01.14 |
[Swift] κΈ°μ΄ λ¬Έλ² - Collection types (Array, Dictionary, Set) (0) | 2022.01.11 |
[Swift] κΈ°μ΄ λ¬Έλ² - λ°μ΄ν° νμ μ’ λ₯ (0) | 2022.01.11 |
[Swift] κΈ°μ΄ λ¬Έλ² - μμμ λ³μ μ μΈνκΈ° (let, var μ°¨μ΄μ ) (0) | 2022.01.11 |