반응형
Swift를 이제 시작했는데 다른 언어의 특성을 섞어 놓은 느낌이 듭니다.
예를 들어 모순적이지만 c++의 불확실성 제거와 파이썬의 용인은 섞어놓은 느낌이랄까...?
암튼 함수에 대해 알아보겠습니다.
함수의 선언과 사용
// 함수 선언
// func 이름(매개변수: 타입) -> 함수 반환 타입{ }
func name(a: Int, b: String) -> Int{
return 0
}
// 반환 값이 없으면 -> 반환 부분 생략 가능 또는 Void 쓰기
// 함수 호출
name(a: 100, b: "String")
함수 조금 더 자세히
// 매개변수 Default 값
func a(a: Int , b: Int = 100) -> Void{
print(a, b)
}
a(a: 10)
// 전달인자
// 이건 좀 생소한 개념
// 매개변수가 다르면 다른 함수로 취급 가능(오버로딩이 되는듯)
// 외부에서는 앞의 이름으로 전달인자를 받고 함수 내부에서는 뒤의 매개변수 값 사용
func b(hello a:Int, world b:Int = 200) -> Void{
print(a, b)
}
b(hello: 10, world: 20)
// 가변 매개변수 : 파이썬의 kargs와 비슷한 느낌
// 마지막에 ...을 한다.
func c(a: Int, b: Int, c:Int...) -> Void{
print(c)
}
c(a: 10, b: 20, c: 30,40,50)
// 함수를 객체로 전달
// 생소2
// 다음과 같이 매개변수의 타입이 같으면 할당 가능
var example: (Int, Int) -> Void = a(a: b:)
example(10,20)
반응형
'iOS > Swift' 카테고리의 다른 글
[Swift] 구조체, 클래스, 프로퍼티, 프로퍼티 감시자 (0) | 2022.01.22 |
---|---|
[Swift] 옵셔널에 대해 (0) | 2022.01.22 |
[Swift] 조건문, 반복문 (0) | 2022.01.22 |
[Swift] Array, Dictionary, Set (0) | 2022.01.22 |
[Swift] 상수, 변수, 데이터 타입 (0) | 2022.01.22 |