TIL 210312

Steven kim·2021년 3월 12일

TodayILeard

목록 보기
4/8
post-thumbnail

✏️학습내용

readline에서 nil이 리턴 되는 경우

  • 써니가 어떤 경우에 nil이 되는지를 모르겠다고 해서 readline을 예시로 들었는데 나도 언제 readline이 nil이 리턴 되는지는 몰라서 찾아봤다.
  • 스택 오버 플로우에서 2^63 - 1 의 문자열의 길이가 들어가면 readline 이 nil을 리턴한다고 한다.
  • 이유는 정확하게 모르겠지만 허용 가능한 문자열의 길이 2^63 인가 보다...
  • 근데 너무 길어서 테스트는 못해봤다.. ㅎㄷㄷ

if let 과 guard let을 사용하는 경우

  • if letguard 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 날림.

🤔문제점 / 고민한 점

😃해결방법

📚참고자료

profile
기록과 정리

0개의 댓글