[노마드코더] Dart 시작하기 #3 FUNCTIONS 정리

레일리·2024년 10월 30일
0
post-thumbnail

DartPad에서 설치 없이 연습 가능
노마드코더 Dart 시작하기에서 무료 수강 가능

#3.0 Defining a Function

String sayHello(String potato) {
	return "Hello $0potato nice to meet you!";
}

void main() {
  print(sayHello('nico'));
}
  • fat arrow syntax는 곧바로 returngk는 곧바로 return하는 거랑 같은 의미
String sayHello(String potato) => return "Hello $0potato nice to meet you!";

#3.1 Named Parameters

  • 함수 정의할 때 파라미터들을 중괄호({})로 감싸줘야지 사용할 수 있음
  • 함수 사용 시에는 순서에 관계없이 argument의 이름들만 적어주면 됨
  • 파리미터의 Null safety 주의
    • 해결1. null이 아닌 default value 정하기
    • 해결2. required modifier를 사용하여 필수 값으로 만들기
String sayHello({
  required String name,
  required int age,
  String country = 'korea',
}) {
  return "Hello $name, you are $age, and you come from $country";
}

void main() {
  print(sayHello(name: 'nico', age: 12, country: 'cuba'));
}

#3.2 Recap

  • positional parameter와 named parameter가 있음
  • positional parameter는 parameter의 순서가 중요 함

#3.3 Optional Positional Parameters

  • parameter에 대괄호([])를 씌우면 not required 임
  • default value 지정할 수 있음
String sayHello(String name, int age, [String? country = 'cuba']) =>
    "Hello $name, you are $age, and you come from $country";

void main() {
  print(sayHello('nico', 12));
}

#3.4 QQ Operator

  • ??는 좌항이 null이면 우항을 return 함
String capitalizeName(String? name) => name?.toUpperCase() ?? 'ANON';

void main() {
  capitalizeName('nico');
  capitalizeName(null);
}
  • ??=는 좌항이 null이면 우항을 할당 함
void main() {
  String? name;
  name ??= 'nico';
  print(name);
}

#3.5 Typedef

  • 자료형에 alias을 만드는 방법
typedef ListOfInts = List<int>;

ListOfInts reverseListOfNumbers(ListOfInts list) {
  var reversed = list.reversed;
  return reversed.toList();
}

void main() {
  print(reverseListOfNumbers([1, 2, 3]));
}
profile
나야, 개발자
post-custom-banner

0개의 댓글