// 함수의 이름을 메모리에 저장
// dart는 return type을 정하지 않아도 됨
add(){
	print("더하기 함수입니다.")
}
// var 생략 가능
add2(var n1,n2){
	print(n1 + n2);
}

void main(){
	// 저장된 함수 호출
	add();
    add2(3, 5);
}

자료형을 알고 있을땐 선언하는 것을 권장

dart는 오버로딩이 되지 않음

기본값 할당 가능

{ 매개변수} 로 선택적으로 사용 가능

return의 자료형을 모를땐 dynamic 사용

// 기본값 할당 가능
// { } 선택적으로 매개변수 사용 가능
void add({int n1 = 1, var n2 = 1}) {
	print(n1 + n2);
}

void main(){
	add(n1:10);
}
함수를 변수에 저장 가능 Function 타입 사용
// 함수가 1급 객체이기 때문에 전달 가능
Function add = ({int n1 = 1, var n2 = 1}) {
	return n1 + n2;
}

void hello(Function t) {
	t();
}

void main() {
	hello(add);
}

var 과 dynamic 의 차이

var 는 실행 시에 타입이 고정

main(){	
    var num = 10;
	num = '안녕'; // 오류 발생
}

dynamic은 실행 시에 타입이 고정되지 않음

main(){
    dynamic sum = 20;
    sum = '안녕';
}

조건문

bool isRunning = true; // false

String name;

void main(){
	// if 조건문
    if (isRunning){
    	print("참");
    } else {
    	print("거짓");
    }
    
    // 삼항 연산자 (변수 = 조건 ? 데이터1 : 데이터2 )
    String s = isRunning ? "참" : "거짓";
    
    print("결과 ${s}");
    
    // 엘비스(Elvis) 연산자 null 값 확인
    String data = name; // data = null
    // data가 null일때 data = 홍길동
    String data = name ?? '홍길동';
    
}
728x90

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

[Dart] 클래스  (0) 2021.06.04
[Dart] final 과 const 차이  (0) 2021.06.04
[Dart] 반복문과 깊은 복사  (0) 2021.06.04
[Dart] 익명함수와 화살표 함수  (0) 2021.06.04
[Dart] 기본자료형  (0) 2021.06.03

+ Recent posts