π ν¨μμ μ μΈ
π ν¨μ μ μΈμ κΈ°λ³Έ νν
func ν¨μμ΄λ¦(λ§€κ°λ³μ1μ΄λ¦: λ§€κ°λ³μ1νμ
, λ§€κ°λ³μ2μ΄λ¦: λ§€κ°λ³μ2νμ
...) -> λ°ννμ
{
/* ν¨μ ꡬνλΆ */
return λ°νκ°
}
// μ)
// sumμ΄λΌλ μ΄λ¦μ κ°μ§κ³
// aμ bλΌλ Int νμ
μ λ§€κ°λ³μλ₯Ό κ°μ§λ©°
// Int νμ
μ κ°μ λ°ννλ ν¨μ
func sum(a: Int, b: Int) -> Int {
return a + b
}
π λ°ν κ°μ΄ μλ ν¨μ
func ν¨μμ΄λ¦(λ§€κ°λ³μ1μ΄λ¦: λ§€κ°λ³μ1νμ
, λ§€κ°λ³μ2μ΄λ¦: λ§€κ°λ³μ2νμ
...) -> Void {
/* ν¨μ ꡬνλΆ */
return
}
// μ)
func printMyName(name: String) -> Void {
print(name)
}
// λ°ν κ°μ΄ μλ κ²½μ°, λ°ν νμ
(Void)μ μλ΅ν΄ μ€ μ μμ΅λλ€
func printYourName(name: String) {
print(name)
}
π λ§€κ°λ³μκ° μλ ν¨μ
func ν¨μμ΄λ¦() -> λ°ννμ
{
/* ν¨μ ꡬνλΆ */
return λ°νκ°
}
// μ)
func maximumIntegerValue() -> Int {
return Int.max
}
π λ§€κ°λ³μμ λ°νκ°μ΄ μλ ν¨μ
func ν¨μμ΄λ¦() -> Void {
/* ν¨μ ꡬνλΆ */
return
}
// ν¨μ ꡬνμ΄ μ§§μ κ²½μ°
// κ°λ
μ±μ ν΄μΉμ§ μλ λ²μμμ
// μ€λ°κΏμ νμ§ μκ³ ν μ€μ ννν΄λ 무κ΄ν©λλ€
func hello() -> Void { print("hello") }
// λ°ν κ°μ΄ μλ κ²½μ°, λ°ν νμ
(Void)μ μλ΅ν΄ μ€ μ μμ΅λλ€
func ν¨μμ΄λ¦() {
/* ν¨μ ꡬνλΆ */
return
}
func bye() { print("bye") }
π ν¨μμ νΈμΆ
sum(a: 3, b: 5) // 8
printMyName(name: "yagom") // yagom
printYourName(name: "hana") // hana
maximumIntegerValue() // Intμ μ΅λκ°
hello() // hello
bye() // bye
π λ§€κ°λ³μ κΈ°λ³Έκ°
π λ§€κ°λ³μμ κΈ°λ³Έμ μΌλ‘ μ λ¬λ κ°μ 미리 μ§μ ν μ μμ
π κΈ°λ³Έκ°μ κ°λ λ§€κ°λ³μλ λ§€κ°λ³μ λͺ©λ‘ μ€μ λ€μͺ½μ μμΉνλ κ²μ΄ μ’μ
func ν¨μμ΄λ¦(λ§€κ°λ³μ1μ΄λ¦: λ§€κ°λ³μ1νμ
, λ§€κ°λ³μ2μ΄λ¦: λ§€κ°λ³μ2νμ
= λ§€κ°λ³μ κΈ°λ³Έκ° ...) -> λ°ννμ
{
/* ν¨μ ꡬνλΆ */
return λ°νκ°
}
func greeting(friend: String, me: String = "yagom") {
print("Hello \(friend)! I'm \(me)")
}
// λ§€κ°λ³μ κΈ°λ³Έκ°μ κ°μ§λ λ§€κ°λ³μλ νΈμΆμ μλ΅ν μ μμ΅λλ€
greeting(friend: "hana") // Hello hana! I'm yagom
greeting(friend: "john", me: "eric") // Hello john! I'm eric
π μ λ¬μΈμ λ μ΄λΈ
π ν¨μλ₯Ό νΈμΆν λ ν¨μ μ¬μ©μμ μ μ₯μμ λ§€κ°λ³μμ μν μ μ’ λ λͺ ννκ² νννκ³ μ ν λ μ¬μ©
func ν¨μμ΄λ¦(μ λ¬μΈμ λ μ΄λΈ λ§€κ°λ³μ1μ΄λ¦: λ§€κ°λ³μ1νμ
, μ λ¬μΈμ λ μ΄λΈ λ§€κ°λ³μ2μ΄λ¦: λ§€κ°λ³μ2νμ
...) -> λ°ννμ
{
/* ν¨μ ꡬνλΆ */
return
}
// ν¨μ λ΄λΆμμ μ λ¬μΈμλ₯Ό μ¬μ©ν λμλ λ§€κ°λ³μ μ΄λ¦μ μ¬μ©ν©λλ€
func greeting(to friend: String, from me: String) {
print("Hello \(friend)! I'm \(me)")
}
// ν¨μλ₯Ό νΈμΆν λμλ μ λ¬μΈμ λ μ΄λΈμ μ¬μ©ν΄μΌ ν©λλ€
greeting(to: "hana", from: "yagom") // Hello hana! I'm yagom
π κ°λ³ λ§€κ°λ³μ
π μ λ¬ λ°μ κ°μ κ°μλ₯Ό μκΈ° μ΄λ €μΈ λ μ¬μ©
π κ°λ³ λ§€κ°λ³μλ ν¨μλΉ νλλ§ κ°μ§ μ μμ
func ν¨μμ΄λ¦(λ§€κ°λ³μ1μ΄λ¦: λ§€κ°λ³μ1νμ
, μ λ¬μΈμ λ μ΄λΈ λ§€κ°λ³μ2μ΄λ¦: λ§€κ°λ³μ2νμ
...) -> λ°ννμ
{
/* ν¨μ ꡬνλΆ */
return
}
func sayHelloToFriends(me: String, friends: String...) -> String {
return "Hello \(friends)! I'm \(me)!"
}
print(sayHelloToFriends(me: "yagom", friends: "hana", "eric", "wing"))
// Hello ["hana", "eric", "wing"]! I'm yagom!
print(sayHelloToFriends(me: "yagom"))
// Hello []! I'm yagom!
π λ°μ΄ν° νμ μΌλ‘μμ ν¨μ
π Swiftλ ν¨μν νλ‘κ·Έλλ° ν¨λ¬λ€μμ ν¬ν¨νλ λ€μ€ ν¨λ¬λ€μ μΈμ΄μ΄λ―λ‘ Swiftμ ν¨μλ μΌκΈκ°μ²΄.
π κ·Έλμ ν¨μλ₯Ό λ³μ, μμ λ±μ ν λΉμ΄ κ°λ₯νκ³ λ§€κ°λ³μλ₯Ό ν΅ν΄ μ λ¬λ κ°λ₯
π ν¨μμ νμ νν
(λ§€κ°λ³μ1νμ
, λ§€κ°λ³μ2νμ
...) -> λ°ννμ
π ν¨μνμ μ¬μ©
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)
π μ€μννΈμ μ λ°μ μΈ λ¬Έλ²μμ λμ΄μ°κΈ° μ£Όμ!
'iOS > Basic Challenge' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[5] λ°λ³΅λ¬Έ (0) | 2022.02.25 |
---|---|
[4] μ°μ°μ / 쑰건문 (0) | 2022.02.24 |
[3] Array, Dictionary, Set(컬λ μ νμ ) (0) | 2022.02.22 |
[2] Swift λ¬Έλ² μ°μ΅νκΈ° (feat. BOJ) (0) | 2022.02.22 |
[1] λ³μμ μμ / κΈ°λ³Έ μλ£ν / λ¬Έμμ΄ λ³΄κ°λ² (0) | 2022.02.21 |