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 | 31 |
Tags
- 배열삭제
- React
- getline
- 이스케이프시퀀스
- 백준
- barplot
- R 그래프
- vetor
- 값추가
- react #회원가입 #비밀번호비교
- 그래픽
- 배열추가
- await
- 버스분석
- 데이터분석
- R데이터형태
- 백준 11718
- barplot in r
- 이용현황분석
- useState
- 백준 10172
- 값삭제
- 광명시버스분석
- asynchronization
- setstate
- 10172
- 탈출문자
- plot in r
- 그대로 출력하기
- DataFrame
Archives
- Today
- Total
devlog_zz
[Dart] 3. 함수, 연산자 본문
728x90
3. 함수, 연산자
함수도 객체
- 변수가 함수를 참조할 수 있다.
- 함수의 인자로 함수를 전달할 수 있다.
- 선택 매개변수위치적 선택 매개변수
- 이름 있는 선택 매개변수
- 익명 함수 및 람다
1. 변수가 함수를 참조할 수 있다.
var name = getName();
getName () {
return 'Kim';
}
2. 함수의 인자로 함수를 전달할 수 있다.
int multi(int a, int b) {
return a*b;
}
int add(int a, int b) {
return a+b;
}
int sub(int a, int b) {
return a-b;
}
multi(add(a,b),sub(a,b)) // 인자로 함수 사용 가능
3-1 . 선택 매개변수 - 이름 있는 선택 매개변수
함수 호출 시 매개변수에 인자 값을 넘겨줄 때 매개변수명을 이용하여 인자 값을 넘겨줄 수 있다.
매개변수명으로 인자 값을 넘겨줄 매개변수는 {} 로 감싸야 한다.
String getAddress(String city, {String district, String zipCode = '111222'}) {
return '$city시 $district구 $zipCode';
}
main() {
print('${getAddress('서울',district:'강남')}');
print('${getAddress('서울',district:'강남',zipCode:'012345')}');
}
서울시 강남구 111222
서울시 강남구 012345
3-2 . 선택 매개변수 - 위치적 선택 매개변수
위치적 선택 매개변수는 미리 초기값을 지정해놓고 함수 호출 시 해당 매개변수에 인자 값을 넘겨주지 않으면 초기값을 사용함
선언 방법 []로 감싸야 한다.
String getAddress(String city, [String district = '강남', String zipCode = '111222']) {
return '$city시 $district구 $zipCode';
}
main() {
print('${getAddress('서울')}');
print('${getAddress('서울','서초')}');
}
서울시 강남구 111222
서울시 강남구 012345
필수 매개변수는 꼭 인자값을 줘야하고 매개변수 위치를 꼭 고려해야 한다.
4. 익명 함수 및 람다식
int add(int a, int b) {
return a + b;
}
var multi = (_a, _b) { // 익명함수
return _a + _b;
}
sub(_a,_b) => _a - _b; // 람다 함수
연산자
~/ 몫을 구하는 연산자
% 나머지 구하는 연산자
타입 검사 연산자
as : 형변환
is : 특정 타입이면 true
main() {
Employee employee = Employee();
Student student = Student();
Person person1 = employee as Person;
Person person2 = student as Person;
person1.name // employee
person2.name // student
}
조건적 멤버 접근
employee?.name
null이면 null을 리턴하고 아니면 우항의 값을 리턴함
[employee.name](<http://employee.name>) ?? 'new name'
null이 아니면 좌항 값, null이면 우항 값 리턴
캐스캐이드 표기법
// 캐스캐이드 표기법 사용
Employee employee = Employee()
..name = 'Kim'
..setAge(25)
..showInfo();
// 사용하지 않으면
employee.name = 'Park';
employee.setAge(30);
employee.showInfo();
출처 : https://brunch.co.kr/brunchbook/dartforflutter 스터디하며 정리한 글입니다. 감사합니다.
728x90
'Front End > Flutter' 카테고리의 다른 글
[Dart] 6. 비동기 프로그래밍 (0) | 2022.05.20 |
---|---|
[Dart] 5. 상속, 접근 지정자, Getter Setter (0) | 2022.05.20 |
[Dart] 4. 조건문 반복문, 클래스, 생성자 (0) | 2022.05.20 |
[Dart] 2. Dart 문법 및 특징 (0) | 2022.05.20 |
[Dart] 1. dart 기초 및 소개 (0) | 2022.05.20 |
Comments