λ°μν
μ μμ νΈμΆ
/*
func ν¨μλͺ
(νλΌλ―Έν°: λ°μ΄ν° νμ
) -> λ°ννμ
{
return
}
*/
func person (name: String, age: Int) -> String{
var s = "Myname is " + name + " and my age is \(age)"
return s
}
var s = person(name: "hyebin", age: 24)
print(s) //Myname is hyebin and my age is 24
ν¨μ νλΌλ―Έν°μ λ°ν κ°
- νλΌλ―Έν°κ° μλ ν¨μ
func helloWorld() -> String{
return "hello, world"
}
print(helloWorld()) //hello, world
- λ°ν κ°μ΄ μλ ν¨μ
func helloWorld(){
print("hello, world") //hello, world
}
helloWorld()
- 볡μμ κ°μ λ°ννλ ν¨μ
func minMax(array: [Int]) -> (min: Int, max: Int) {
var currentMin = array.min()!
var currentMax = array.max()!
return (currentMin, currentMax)
}
var a = [1,2,3,4,5,6,12,14]
var min = 0, max = 0
(min, max) = minMax(array: a)
print(min, max) // 1, 14
print(minMax(array: a)) //(min: 1, max: 14)
- μ΅μ
λ νν λ°νν
- λ°ν κ°μ μ κ·ΌνκΈ° μν΄ μ΅μ λ 체μ΄λ νΉμ κ°μ unwrapping νμ
func minMax(array: [Int]) -> (min: Int, max: Int)? {
if array.isEmpty {return nil}
var currentMin = array.min()!
var currentMax = array.max()!
return (currentMin, currentMax)
}
var a = [1,2,3,4,5,6,12,14]
if let returnValue = minMax(array: a) {
print(returnValue.min, returnValue.max) //1, 14
}
ν¨μ μΈμ λΌλ²¨κ³Ό νλΌλ―Έν° μ΄λ¦
- μΈμ λΌλ²¨ μ§μ
- νλΌλ―Έν° μμ μΈμ λΌλ²¨μ μ§μ ν΄ μ€μ ν¨μ λ΄λΆμμ μ¬μ©νλ μ΄λ¦κ³Ό νΈμΆ μ μ¬μ©νλ μ΄λ¦μ λ€λ₯΄κ² νμ¬ μ¬μ©
func printName(insertName name: String){
print( "my Name is " + name + ".") //my Name is hyebin.
}
printName(insertName: "hyebin")
- μΈμ μλ΅
- νλΌλ―Έν° μμ "_"λ₯Ό λΆμ¬ ν¨μ νΈμΆ μ μΈμ κ°μ μλ΅
func printName(_ name: String, _ age: Int){
print( name, age) //hyebin 14
}
printName("hyebin" , 14)
- κΈ°λ³Έ νλΌλ―Έν° κ°
- ν¨μμ νλΌλ―Έν°μ κΈ°λ³Έ κ°μ μ€μ
- κΈ°λ³Έκ°μ΄ μ€μ λ νλΌλ―Έν°λ ν¨μ νΈμΆ μ μλ΅ κ°λ₯
func printName(name: String, age: Int = 24){
print( name, age) //hyebin 24
}
printName(name: "hyebin") //hyebin 24
printName(name: "yyy", age: 90) //yyy 90
- κ°λ³ νλΌλ―Έν°
- νλΌλ―Έν° λ°μ΄ν° νμ λ€μ ... ν€μλ μ¬μ©
- κ°λ³ νλΌλ―Έν° λ€μ μλ νλΌλ―Έν°λ μΈμ μλ΅ λΆκ°
- κΈ°λ³Έκ°μ κ°μ§ μ μμΌλ©°, νλμ νλΌλ―Έν°μμλ§ μ¬μ© κ°λ₯
func avg(_ numbers: Double...) -> Double {
var total: Double = 0
for number in numbers {
total += number
}
return total / Double(numbers.count)
}
print(avg(1, 2, 3, 4, 5)) // 3.0
print(avg(3, 8.25, 18.75)) //10.0
- μΈ-μμ νλΌλ―Έν°
- ν¨μμμ μ§μ νλΌλ―Έν° κ°μ μ κ·Όν μ μλλ‘ νλ νλΌλ―Έν°
- ν¨μμ μΈμμ λ³μλ₯Ό λ£μ λ & ν€μλ μ¬μ©
func swapTwoInts(_ a: inout Int, _ b: inout Int) {
let temporaryA = a
a = b
b = temporaryA
}
var someInt = 3
var anotherInt = 107
swapTwoInts(&someInt, &anotherInt)
print("someInt is now \(someInt), and anotherInt is now \(anotherInt)")
// someInt is now 107, and anotherInt is now 3
ν¨μ νμ
- λͺ¨λ ν¨μλ νλΌλ―Έν° νκ³Ό(parameter types) λ°ν ν(return type)μΌλ‘ ꡬμ±λ νΉμ ν ν¨μ νμ μ κ°μ§
- λ³μ νμΌλ‘μ¨μ ν¨μν
- λ³μλ μμμ ν¨μλ₯Ό ν λΉν λ ν¨μ νμ μ μΈνμ§ μμλ νμ μΆλ‘ ν΄ μλμΌλ‘ ν¨μ ν λΉ κ°λ₯
func addTwoInts(_ a: Int, _ b: Int) -> Int {
return a + b
}
var mathFunction: (Int, Int) -> Int = addTwoInts
//var mathFunction = addTwoInts
print(mathFunction(2,3)) //5
- νλΌλ―Έν° νμΌλ‘μ¨μ ν¨μν
func addTwoInts(_ a: Int, _ b: Int) -> Int {
return a + b
}
func printMathResult(_ mathFunction: (Int, Int) -> Int, _ a: Int, _ b: Int) {
print("Result: \(mathFunction(a, b))")
}
printMathResult(addTwoInts, 3, 5) //"Result: 8"
- λ°ν νμΌλ‘μ¨μ ν¨μν
func stepForward(_ input: Int) -> Int {
return input + 1
}
func stepBackward(_ input: Int) -> Int {
return input - 1
}
func chooseStepFunction(backward: Bool) -> (Int) -> Int {
return backward ? stepBackward : stepForward
}
var currentValue = 3
let moveNearerToZero = chooseStepFunction(backward: currentValue > 0)
while currentValue != 0 {
print("\(currentValue)... ")
currentValue = moveNearerToZero(currentValue)
}
print("zero!")
λ°μν
'β¨οΈ Language > swift' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Swift] Codility Lesson1 - BinaryGap (0) | 2022.07.23 |
---|---|
[Swift] μ΄κ±°ν (Enumerations) (0) | 2022.02.08 |
[Swift] μ μ΄λ¬Έ(Control Flow) (0) | 2021.11.26 |
[Swift] λ°μ΄ν° νμ (2) (0) | 2021.11.25 |
[Swift] λ°μ΄ν° νμ (1) (0) | 2021.11.25 |