✏️학습내용
readline에서 nil이 리턴 되는 경우
- 써니가 어떤 경우에 nil이 되는지를 모르겠다고 해서
readline을 예시로 들었는데 나도 언제 readline이 nil이 리턴 되는지는 몰라서 찾아봤다.
- 스택 오버 플로우에서 2^63 - 1 의 문자열의 길이가 들어가면
readline 이 nil을 리턴한다고 한다.
- 이유는 정확하게 모르겠지만 허용 가능한 문자열의 길이 2^63 인가 보다...
- 근데 너무 길어서 테스트는 못해봤다.. ㅎㄷㄷ
if let 과 guard let을 사용하는 경우
if let 과 guard let 의 가장 큰 차이는 옵셔널 바인딩 한 값(let으로 선언한 변수)의 사용 범위이다.
if let 을 사용하면 코드의 뎁스가 길어져 나는 guard let 을 선호한다.
- 하지만
guard let 의 단점은 옵셔널 바인딩에 실패 했을 때를 처리(return, break, continue, throw로)해 주어야 한다는 것이다.
struct 와 class 의 초기화 차이
- struct와 class의 프로퍼티들을 선언 만 했을 때 이니셜라이즈 구현 여부에 차이가 있다.
- class의 경우 반드시 이니셜라이져로 모든 프로퍼티들을 초기화 해줘야 한다.
class Person {
var name: String
init (name: String) {
self.name = name
}
}
let steven = Person(name: "Steven")
- struct는 자동적으로 내부에서 프로터피들을 초기화할 수 있는 이니셜라이져를 생성해 준다.
struct Person {
var name: String
}
let steven = Person(name: "Steven")
step1 PR 날림.
🤔문제점 / 고민한 점
😃해결방법
📚참고자료