p. 156 - 함수
- parameter(매개변수)
- 전달인자 레이블(Argument Label)
: 함수 외부에서 매개변수의 역할을 좀 더 명확히 알 수 있다.
- parameter에 기본값 주기
- 가변 parameter(매개변수)
: 가변 파라미터는 함수당 최대 1개까지 가능.
...을 매개변수 타입뒤에 붙이면 됨.
p. 163 - "call by Value" & "call by Reference"
- inout 매개변수의 활용
https://jintaewoo.tistory.com/25
: inout파라미터를 사용하면 (함수로 전달되는 값을 복사하는게 아닌) 파라미터 자체를 전달함.(= 파라미터의 메모리 주소를 전달한다.)
- 리턴값이 없는(생략된) 함수
- p.166 - 함수를 데이터타입으로 사용
함수를 하나의 데이터타입으로 나타내는 방법
: typealias example = (String, String...) → String 이런식으로 나타냄.
- 전달인자로 함수 전달
- 반환값으로 함수 반환
p. 168 - 중첩 함수
스위프트는 데이터 타입의 중첩이 자유로움.
중첩 함수 : 함수 안의 함수로 구현. / 상위 함수의 몸통 블록 내부에서만 함수 사용 가능. / (But,) 중첩함수를 반환하면 밖에서도 사용 가능.
- 중첩함수 미사용
- 중첩함수 사용
p. 170 - 종료되지 않는 함수(비반환 함수 or 비반환 메서드)
: 이 함수 실행시 프로세스 동작은 끝났다고 볼 수 있음.
오류를 던지거나 or 중대한 시스템 오류를 보고함.
비반환 함수는 반환타입 : Never
p. 171 - @discardableResult 속성(return값 무시해도 ok)
@discardableResult : return값을 안쓸 수도 있다고 @discardableResult로 표현해줬기 때문에, 컴파일러가 경고를 표시하지 않음.
아래 파일은, 제가 공부하면서 작성한 소스코드 자료입니다.
반응형
최근댓글