티스토리 뷰

Flutter/Dart

Flutter Dart - 함수

강태종 2022. 1. 14. 23:19

함수

반복되는 작업을 정의하여 코드의 중복을 줄일 수 있는 기능입니다.

  • 반환형을 유추할 수 있을 경우 생략할 수 있습니다.
  • void는 아무것도 반환하지 않는 경우 사용합니다. (생략할 수 있습니다.)
  • 기본적으로 반환형을 명시할 것을 권장합니다.
getHello() {
  return "Hello";
}

String getWorld() {
  return "World";
}

void message(String message) {
  print("${getHello()} ${getWorld()} $message");
}

 

선택 매개변수

매개 변수의 기본값을 적용하고 싶을 때 사용합니다. 선택 매개변수로 선언하고 싶은 변수를 [] 로 감쌉니다.

  • 매개변수를 전달하지 않으면 기본 값으로 저장됩니다.
  • 기본 값은 컴파일 저장되므로 컴파일 상수 값으로 설정해야 합니다. (const 성격을 갖는 값만 가능하다.)
String log(String tag, [String message = "This is message."]) {
  return "$tag : $message";
}

main() {
  log("PASS", "Message");
  log("PASS"); // message에 기본 값인 This is message.가 들어간다.
}

 

변수의 이름이 있는 함수

함수의 변수가 많아지면 변수의 순서나 이름이 헷갈릴 수 있습니다. 변수의 이름이 있는 함수를 사용하여 문제를 해결할 수 있으며 {}로 감쌉니다.

  • {}를 사용하여 매개 변수를 넘길 때 이름을 사용할 수 있습니다.
  • {}에 선언된 변수는 필수로 받는 매개변수이며, zipcode처럼 기본값을 지정하거나 required를 사용하여 기본값이 없는 변수를 필수 요소로 선언할 수 있습니다. (null을 저장할 수 있는 변수는 기본값이나 required를 사용하지 않아도 선언할 수 있습니다.)
String getAddress(String country, {required String state, required String city, required String district, int zipcode = 0}) {
  return "$city $district ($zipcode)";
}

main() {
  getAddress("대한민국", state: "경기도", city: "성남시", district: "수정구", zipcode: 1000);
}

 

람다 함수

main() {
  var lambda0 = () => print("this is lambda.");

  var lambda1 = () {
    print("this is lambda.");
    print("this is lambda.");
  };

  var lambda2 = (int value) => print("value : $value");

  lambda0();
  lambda1();
  lambda2(0);
}

'Flutter > Dart' 카테고리의 다른 글

Flutter Dart - 클래스 생성자  (0) 2022.02.19
Flutter Dart - 분기처리(조건문, 반복문)  (0) 2022.01.08
Flutter Dart - 연산자  (0) 2022.01.08
Flutter Dart - 변수(2)  (0) 2022.01.08
Flutter Dart - 변수(1)  (0) 2022.01.08
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함