??
??=
이름을 대문자로 return하는 함수
String capitalizeName(String name) => name.toUpperCase();
String capitalizeName(String? name) => name.toUpperCase(); --> 오류 b/c if name is null, can't use toUpperCase
해결 방법 1. if문
String capitalizeName(String? name) {
if (name != null) {
return name.toUpperCase();
}
return 'ANON'; //if name is NULL
}
해결 방법 2. ? : and fat arrow
String capitalizeName(String? name) => name != null ? name.toUpperCase() : 'ANON';
해결방법 3. ?? and fat arrow
String capitalizeName(String? name) => name?.toUpperCase() ?? 'ANON';
left??right
if left is null give right,
if left NOT null give left.
void main() {
capitalizeName('nico'); //NICO
capitalizeName(null) //사용자가 null도 입력하게 하고 싶어!
void main() {
String? name;
name ??= 'nico'; //if name is NULL, please put value in it
name ??= 'another'; // //if name is NULL, please put another value in it. this won't work b/c name is not null now. it is 'nico'
print (name); //'nico'
}
'스터디 > Dart' 카테고리의 다른 글
[Dart] #3.5 Typedef (0) | 2024.01.10 |
---|---|
[Dart] #3.3 Optional Positional Parameters (0) | 2024.01.10 |
[Dart] #3.2 Recap ^_^ (positional,named,required,default) (0) | 2024.01.10 |
[Dart] #3.1 Named Parameters ({ }) (0) | 2024.01.10 |
[Dart] #3.0 Functions (0) | 2024.01.10 |