void hi(String name) {
print('Hi $name!')
}
이런 방식으로 사용함
void = 이 함수는 아무것도 return 하지 않는다.
return 을 넣으면 error
String hi(String name) {
return 'Hi $name!';
}
이렇게 하면 return 됨
String hi(String name) => 'Hi $name!';
이런 형식으로도 됨 => = return 한다는 뜻
Named Parameters
String hi({String name, int age}) {
return 'Hi $name! $age';
}
이런 함수를 사용할 때
hi(age: 15, name:'ab')
이런 방식으로 순서 상관없이 사용가능
이런 방식일 때 arg가 비어있을 때를 대비해서 기본 값을 넣어준다.
null을 대비해서
String hi({String name = 'abc', int age = 10}) {
return 'Hi $name! $age';
}
반드시 arg가 있어야 할때는 required를 사용한다
String hi({required String name, required int age}) {
return 'Hi $name! $age';
}
Optional positional parameters
positional parameters 는 원래 모든게 다 required 인데 이렇게 사용하면 필수적이지 않게 할 수 있다
String hi(String name, [int? age = 30]) => 'Hi $name! $age';
print(hi('ab'))
이렇게해도 기본값으로 나옴
??, ?=
String upperName(String name) => name.toUpperCase();
name 이 null 이어도 반환하게 하고 싶으면
String upperName(String? name){
if(name != null){
return name.toUpperCase();
}
return 'NONE';
}
짧게한다면
String upperName(String? name) => name != null ? name.toUpperCase() : "NONE";
더 짧게
String upperName(String? name) => name?.toUpperCase() ?? "NONE";
??
왼쪽이 null 이면 오른쪽을 return
왼쪽이 null이 아니면 왼쪽을 return
??=
String? name;
name ??= 'ab';
name 이 null 이면 'ab'를 할당함
typedef
타입에 이름 붙히기