Dart Language Guide
  • Dart Language Guide (한국어)
  • LANGUAGE GUIDE
    • A basic Dart program
    • Important concepts
    • Keywords
    • Variables
    • Built-in types
      • Numbers
      • String
      • Booleans
      • Lists
      • Set
      • Maps
  • Functions
    • Parameters
    • The main() function
    • Functions as first-class objects
    • Anonymous functions
    • Lexical scope
    • Lexical closures
    • Testing functions for equality
    • Return values
    • Generators
Powered by GitBook
On this page
Edit on GitHub

Functions

PreviousMapsNextParameters

Last updated 2 years ago

Dart는 객체 지향 언어이므로 함수도 객체이며 이라는 타입을 갖습니다. 즉, 함수를 변수에 할당하거나 다른 함수에 인자로 전달할 수 있습니다. 또한 Dart 클래스의 인스턴스를 마치 함수처럼 호출할 수도 있습니다. 자세한 내용은 를 참조하세요.

다음은 함수를 구현하는 예입니다.

bool isNoble(int atomicNumber) {
  return _nobleGases[atomicNumber] != null;
}

Effective Dart는 을 권장하지만 타입을 생략해도 함수가 계속 작동합니다.

isNoble(atomicNumber) {
  return _nobleGases[atomicNumber] != null;
}

표현식이 하나만 포함된 함수의 경우 약식 구문을 사용할 수 있습니다.

bool isNoble(int atomicNumber) => _nobleGases[atomicNumber] != null;

=> expr 구문은 { return expr; } 를 생략한 것입니다. => 표기법은 화살표 구문이라고도 합니다.

Note: statement가 아닌 expression만 화살표(=>)와 세미콜론(;)으로 표현할 수 있습니다. 예를 들어, 은 사용할 수는 없지만 을 사용할 수는 있습니다.

Function
Callable classes
공개 API에 대한 명시적 타입 선언
if statement
conditional expression