Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 불공단스터디
- 공부기록
- Python
- DRF
- 대학생
- 라즈베리파이
- 낭독
- 컴공과
- 불공단
- 장고
- 2024 1학기 기말 파이썬 프로젝트
- Til
- djangorestframework
- 다시도전
- django
- 1학기
- SUNLOG
- 해커스
- 기록
- 불공단_스터디
- 매일매일쓰자허무하지않게
- 삽질일기
- 가보자고
- opencv
- 파이썬
- 암영
- UOPEOPELE
- Flutter
- to all the errors i loved
- 백엔드
Archives
- Today
- Total
기술해록본
다트 함수 (4) 본문
typedef와 함수
- 함수의 시그니처를 정의하는 값.
- 즉 함수 선언부를 선언부를 정의하는 키워드
- 시그니처란? 반환값타입, 매개변수의 개수와 타입
- 일반적인 변수처럼 사용함
import 'dart:io';
typedef Operation = void Function(int x, int y); //typedef는 일반적인 변수의 type처럼 사용가능
void add(int x, int y) {
print('결과값: ${x + y}');
}
void subtract(int x, int y) {
print('결과값: ${x - y}');
}
void calculate(int x, int y,Operation oper) {
oper(x,y);
}
void main() {
Operation oper = add;
oper(1, 2);
//subtract() 함수도 Operation에 해당되는
//시그니처 이므로 oper변수에 저장가능
oper = subtract;
oper(1, 2);
// 다트에서 함수는 일급객체라 함수를 값처럼 사용가능
calculate(1, 3, add);
}
Version Update
2.13 이전 버전 에서는 typedef를 함수 타입에만 사용이 가능했지만, 새로운 버전은 여러 타입을 참조 가능하다
typedef ListMapper<X> = Map<X, List<X>>;
Map<String, List<String>> m1 = {}; // typedef를 사용하지 않았을때, 타입 선언이 장황합니다.
ListMapper<String> m2 = {}; // 위와 같지만 더 깔끔하고 짧습니다.
try...catch
- 특정 코드의 실행을 시도(try) 해보고 문제가 있으면 에러를 잡으라는(catch)뜻.
throw
- 키워드를 사용 에러를 발생시킬수 있음.
import 'dart:io';
void main() {
//try..catch
try{
//에러가 없을때 실행할 로직
final String name='코드팩토리';
print(name);
}catch(e){
//에러가 있을때 실행할로직
print(e);
}
// throw 키워드-> 고의적으로 에러를 발생시킴
try{
final name2='코도도';
throw Exception('이름이 잘못됬습니다!');
print(name2);
}catch(e){
print(e);
}
}
'Develop > Flutter' 카테고리의 다른 글
Chapter 13 : Project 오늘도 출첵 (0) | 2024.08.13 |
---|---|
다트 객체지향 프로그램 (0) | 2024.08.13 |
다트문법 (3) (0) | 2024.08.13 |
다트 문법 정리 (2) (0) | 2024.08.06 |
다트 문법 정리 (1) (0) | 2024.08.03 |