IOS/Swift

[TIL]Swift. Function

1. 함수와 메서드의 차이

Method object.methodName() 오브젝트에 종속되어 수행
Function functionName() 기능을 독립적으로 수행

  2. Function 

  • 함수의 표현식
func functionName(param: paramType) -> returnType {
     //.........
     return returnValue
}
  • 함수의 이름을 지을때는 최대한 이코드가 무슨 동작을 하는지 유추할수 있도록 지어준다
  • 함수는 어떤 기능을 수행하는 코드블럭입니다
  • 함수는 파라미터를 받을수 있습니다
  • 정수가아닌 소수점을 표현해야 할때에는 Typename을 Double 로 쓴다
  • 함수에 함수자체를 파라미터로 줄수 있다.
  • 함수의 여러 형태
func name () {
    print(str)
}
name()

func printMultipleOfTen(value: Int) {
    print("\(value) * 10 = \(value * 10)")
}
printMultipleOfTen(value: 10)

// param 2개
// 물건값과 갯수를 받아서 전체 금액을 출력하는 함수

func printTotalPrice(price: Int, count: Int) {
    print("Total Price: \(price * count)")
}

printTotalPrice(price: 1500, count: 5)

func printTotalPrice2(_ price: Int, _ count: Int) {   // _는 값만 넘겨줄때 사용. _  자리에 한글로 넣어도 가능
    print("Total Price: \(price * count)")
}

printTotalPrice2(1500, 5)

func printTotalPrice3(가격 price: Int, 갯수 count: Int) {   // _는 값만 넘겨줄때 사용. _  자리에 한글로 넣어도 가능
    print("Total Price: \(price * count)")
}

printTotalPrice3(가격 : 1500,갯수 : 5)

func printTotalPriceWithDefaultValue(price: Int = 1500, count: Int) {   
// price를 보면 기본값을 선언해준것을 볼수 있다(값을 넣지 않으면 반영되고, 넣으면 넣은값으로 실행이된다)
    print("Total Price: \(price * count)")
}

printTotalPriceWithDefaultValue(count: 10)

func totalPrice( price: Int, count: Int) -> Int {          
// 리턴키워드가 있을때 리턴되는 키워드의 타입까지 명시를 해주어야 한다 -> 처럼
    let totalPrice = price * count
    return totalPrice
}

let calculatedPrice = totalPrice(price: 10000, count: 77)
calculatedPrice

//--- In-out Parameter

var value = 3
func incrementAndPrint( _ value: inout Int) {
// Swift는 파라미터가 정해지면 값을 바꾸지 못하게 시스템적으로 막고 있다. 이파라미터를 상수가 아닌 변수로 활용하려면 inout을 써줘야한다
    value += 1
    print(value)
}
incrementAndPrint(&value)  // 그리고 파라미터를 넣을때 & 써줘야 한다
  • 함수가 인자로 들어가는 경우

// --- Function as a param
func add(_a:Int, _ b: Int) -> Int {
	return a+b
}

func subtract(_a:Int, _ b: Int) -> Int {
	return a-b
}

var function = add
function(4, 2)

func printResult( _ function: (Int, Int) -> Int, _ a:Int, _ b: Int) {
    let result = function(a, b)
    print(result)
}

printResult(add, 10, 5)
//함수는 될수있으면 한가지의 일만하는 것이 가장 중요하다.
//계속 고민을 하다보면 좋은 코드를 쓸수 있다
//함수를 짤때 10줄을 넘지 않게 짜도록 노력하자

   3. 함수를 짤때 중요한 요소 3가지

  • 함수는 될수있으면 한가지의 일만하는 것이 가장 좋다
  • 함수는 계속 고민을 하다보면 좋은 코드를 쓸수 있다
  • 함수를 짤때 10줄을 넘지 않게 짜도록 노력하자

'IOS > Swift' 카테고리의 다른 글

[TIL] Swift. Collection  (0) 2020.09.29
[TIL] Swift. Optional  (0) 2020.09.24
[TIL] Swift. Flow Control  (0) 2020.09.22
[TIL] Swift 기초 정보  (0) 2020.09.21
[TIL] Swift의 기본 언어적 특징  (0) 2020.09.19