728x90
반응형
야곰 스위프트 프로그래밍 책을 읽으며 기억해둘 문법을 정리합니다.
함수
- 일급객체, 하나의 데이터 타입으로 사용할 수 있음
- 각 함수는 매개변수 타입과 반환 타입으로 구성된 하나의 타입으로 사용(정의)할 수 있다는 뜻
- 어떤 상황에서 유용하게 사용할 수 있을지 고민!
- 함수의 전달인자로 값을 전달할 때는 보통 값을 복사해서 전달한다
- 값이 아닌 참조를 전달하려면 입출력 매개변수(
inout
)를 사용한다
var numbers: [Int] = [1, 2, 3]
func nonReferenceParameter(_ arr: [Int]) {
var copiedArr: [Int] = arr
copiedArr[1] = 1
}
func referenceParameter(_ arr: inout [Int]) {
arr[1] = 1
}
nonReferenceParameter(numbers)
print(numbers[1]) // 2
referenceParameter(&numbers) // 참조를 표현하기 위해 &를 붙인다
print(numbers[1]) // 1
Never
(반환타입)
- 종료되지 않는 함수
- 정상적으로 끝날 수 없는 함수, 오류를 던지거나 오류를 보고하고 프로세스를 종료함, 어디서든 호출 가능
- ex.
fatalError
@discardableResult
- 반환 값이 필요하지 않은 함수일 때 선언 사용
반응형
'Programming > Swift' 카테고리의 다른 글
[Swift] 문법 다시보기 - 구조체와 클래스의 차이 (0) | 2021.10.12 |
---|---|
[Swift] 문법 다시보기 - 옵셔널, 클래스 (0) | 2021.10.11 |
[Swift] 문법 다시보기 - Switch (0) | 2021.10.10 |
[Swift] 문법다시보기 - 열거형 (0) | 2021.10.10 |
[Swift] Computed Properties (연산 프로퍼티) (0) | 2019.07.28 |