// 함수의 이름을 메모리에 저장
// 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 |