나의 발자취

Swift 함수 한번에 정리 본문

앱 개발/iOS

Swift 함수 한번에 정리

달모드 2023. 6. 30. 02:57
출처: codecademy

* argument label 을 _ 로 하면 function invoke 시 argument label을 쓰지 않아도 된다
* multiple values는 튜플로 반환한다. 

func favoriteCuisine() -> (name:String, dish:String) {
  return ("Russian", "Pelmeni") 
}

let cuisine = favoriteCuisine()
print("My favorite \(cuisine.name) dish is \(cuisine.dish)!")

* Implicit return 이란, swift 5.1(20년 2월)부터 생긴 것으로 return이 한줄이면 return 키워드를 생략해도 된다.
* default parameter는 argument 뒤에 = 하고 default value를 넣는다. 
func totalWithTip(total: Double, tip: Double0.2) -> Double { }
* variadic parameter는 argument 뒤에 ... 붙이는데, 파이썬처럼 멀티 파라미터는 한 개 이상 쓸 수 없다.

func functionName(paramName: paramType...) -> returnType {
  // function's task goes here
}
func avgSongLength(times: Int...) -> Int {
  var total = 0
  for time in times {
    total += time
  }
  return total / times.count
}

print(avgSongLength(times: 183, 176, 180, 176, 184, 179, 181, 180, 172, 178))

* in-out parameter는 함수 내에서 함수 밖의 변수값을 변경시킬 때 쓰고, argument 앞에 inout 키워드를 넣어준다.
func funcName(parameterName: inout parameterType) -> returnType {
함수를 호출할 때는 argument 앞에 &를 써준다.

var currentGeneratorState = "Off"

func generators(powerOutage: Bool, state: inout String) {
  if powerOutage == true {
    state = "On"
  } else { state = "Off"}
}

print(generators(powerOutage: true, state: &currentGeneratorState))

 함수 매개 변수
func doSomething(firstNum num1: Int) {}
에서 firstNum은 외부매개변수명, num1 지역매개변수명임

외부매개변수명 축약은 #을 쓴다.
func doSomething(num1 num1: Int) {} 에서

func doSomething(#num1: Int) {}
로 가능.

728x90
반응형

'앱 개발 > iOS' 카테고리의 다른 글

클래스  (0) 2023.09.03
접근제어자 PROPERTIES AND ACCESS CONTROL  (0) 2023.07.22
if-let 구문, 옵셔널 바인딩  (0) 2023.06.28
튜플 특징  (0) 2023.06.28
View: Vstack, Hstack, Zstack  (0) 2023.06.20
Comments