function

Peter Lee·2020년 5월 1일
0

Function

자바스크립트와 유사하나 조금의 차이가 있다.

int myFunc(int a){
	if( a == 1) return 1;
  	else return 2;
}
print(myFunc(3)); //2

화살표 함수도 사용가능하지만 statement가 아닌 expression만 된다.

int sum(int a,int b) => a+b; // if 같은 것을 쓸 수 없다.

optional parameter

optional parameter 에는 2가지가 있다.
named parameter와 positioned parameter
named 파라미터의 정의와 사용법은 다음과 같다.

sum({int a = 0, int b = 0}) => a+b; //a,b의 default는 0
sum(); //0
sum(a:1); //1
sum(a:1,b:2); //3

꼭 필요한 파라미터의 경우 @required 어노테이션을 사용한다.

sum({int a=0, @required int b) => a+b;
print(sum(b:2)) //2;
print(sum(a:3)) // 오류! b 정의 해야한다.

positional parameter

String say(String from, String msg,
    [String device = 'carrier pigeon', String mood]) {
  var result = '$from says $msg';
  if (device != null) {
    result = '$result with a $device';
  }
  if (mood != null) {
    result = '$result (in a $mood mood)';
  }
  return result;
}

assert(say('Bob', 'Howdy') ==
    'Bob says Howdy with a carrier pigeon');

anonymous function

익명함수의 사용법은 다음과 같다.

var myList = ['a','b','c'];
myList.forEach((String el){
               	print(el);
               });

0개의 댓글