dart 함수

kinghong97·2023년 4월 16일
0

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

타입에 이름 붙히기

0개의 댓글