Null 대신 void를 사용하세요
Null 대신 void를 사용하세요
Null 타입은 정말로 void를 원하지 않는다고 확신할 때만 쓰세요. void로 충분한 자리에 Null 타입을 쓰지 말자는 린트 규칙이에요. 함께 볼게요.
본문
void가 통할 자리에서는 Null 타입을 쓰지 마세요.
BAD:
Null f() {}
Future<Null> f() {}
Stream<Null> f() {}
f(Null x) {}
GOOD:
void f() {}
Future<void> f() {}
Stream<void> f() {}
f(void x) {}
몇 가지 예외가 있어요. 특수 함수 타입을 만들 때는 이렇게 쓸 수 있어요:
Null Function(Null, Null);
그리고 어떤 타입의 map이나 list든 읽기 전용 위치에 안전하게 넘길 수 있는 빈 리터럴을 만들 때도 쓸 수 있어요:
<Null>[];
<int, Null>{};
켜는 방법
prefer_void_to_null 규칙을 사용하려면 analysis_options.yaml 파일의 linter > rules 아래에 prefer_void_to_null을 추가해요:
linter:
rules:
- prefer_void_to_null
만약 YAML 맵 문법으로 린트 규칙을 설정한다면 linter > rules 아래에 prefer_void_to_null: true를 추가하면 돼요:
linter:
rules:
prefer_void_to_null: true
더 알아보기
- Linter rules — Dart 린트 규칙 전체 목록
- analysis_options.yaml — 린트 설정 파일 작성법