v6.1.0+1
optional
null 참조를 다루는 것을 피하는 데 도움이 되는 Optional 유형의 구현
38좋아요 23130일 다운로드150Pub 점수
AndroidiOSWebmacOSWindowsLinux
다트를 위한 옵셔널 타입의 구현
^1.15.0>=5.0.0 <6.0.0^1.16.5^1.11.0>=1.10.0 <2.0.0^1.0.3아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.
https://github.com/tonio-ramirez/optional.dart/workflows/tests/badge.svg?branch=master Coverage Status
Optional.dart is an implementation of the Optional type, inspired by Java 8's Optional class.
Optional helps avoid null reference errors by wrapping values in an object that holds information
regarding whether the value is present or not.
For example, when applying a set of operations to a value, any of which might return null,
you can get rid of the null checks by using Optional.map():
String? getString() {
// ..
if (condition) {
return null;
} else {
return "12";
}
}
int? calculateSomething(String str) {
// ...
if (someCondition) {
return null;
} else {
return 3 + int.parse(str);
}
}
double? calculateSomethingElse(int val) {
// ...
if (anotherCondition) {
return null;
} else {
return val * 1.42;
}
}
void main() {
// before
String? str;
int? i;
double? d;
str = getString();
if (str != null) {
i = calculateSomething(str);
}
if (i != null) {
d = calculateSomethingElse(i);
}
if (d != null) {
print(d);
}
// with Optional
Optional.ofNullable(getString())
.map(calculateSomething)
.map(calculateSomethingElse)
.ifPresent(print);
}