나의 발자취
Swift 함수 한번에 정리 본문
* 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: Double = 0.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: ¤tGeneratorState))
함수 매개 변수
func doSomething(firstNum num1: Int) {}
에서 firstNum은 외부매개변수명, num1 지역매개변수명임
외부매개변수명 축약은 #을 쓴다.
func doSomething(num1 num1: Int) {} 에서
func doSomething(#num1: Int) {}
로 가능.
'앱 개발 > 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