| Dart 시작하기 - Optional Positional Parameter, QQ operator, Typedef
https://nomadcoders.co/dart-for-beginners/lectures/4112
void main() {
// Optional Positional Parameter (선택적)
print(sayHello('hong', 12));
// QQ Operator : ??, ?=
print(capitalizeName('hong'));
print(capitalizeName(null));
print(capitalizeName2(null));
String? name;
name ??= 'empty'; // name이 null이면 'emtpy'를 반환하라.
name ??= 'another empty'; // name에 empty가 담겨 의미 없음.
print(name);
}
String sayHello(
String name,
int age,
[String? country = 'cuba'] // 대괄호를 넣고 타입?와 함께 쓰면 Optional Positional Parameter (선택적)
) =>
"Hello $name, your are $age years old, and you are from $country";
String capitalizeName(String? name) => name != null ? name.toUpperCase() : 'ANON';
// left ?? right
// 만약 left가 null이면, right를 반환한다. (vise versa)
String capitalizeName2(String? name) => name?.toUpperCase() ?? 'ANON';
typedef ListOfInts = List<int>;
typedef UserInfo = Map<String, String>;
ListOfInts reverseListOfNumbers(List<int> list) {
var reversed = list.reversed; // iterable 반환
return reversed.toList(); // toList()로 다시 List타입으로 변환
}
String sayHi(UserInfo userInfo) { // -> Class가 더 낮다.
return "Hi ${userInfo['name']}";
}
void main() {
print(reverseListOfNumbers([1, 2, 3]));
print(sayHi({"name" : "test"}));
}
'Frontend > Dart,Flutter' 카테고리의 다른 글
Dart 시작하기 - Classes (0) | 2023.05.27 |
---|---|
Dart 시작하기 - 함수, Named Parameters (0) | 2023.05.27 |
Dart 시작하기 - 데이터 타입 (0) | 2023.05.27 |
Dart 시작하기 - 변수 (0) | 2023.05.26 |