1. for
void main(){
// for
for(int i = 0; i < 10; i++){
print(i);
}
print("-----------------------------------");
// for문 응용
List<int> numbers = [
1,
1,
2,
3,
5,
8,
];
// 리스트 안에 모든 원소의 합을 구하는 방법
// 1번 방법
int number = 0;
for(int i = 0; i < numbers.length; i++){
number += numbers[i];
}
print(number);
print("-----------------------------------");
// 2번 방법
int total = 0;
for(int numberA in numbers){
total += numberA;
}
print(total);
}
2번 방법에 대한 상세 해설)
numbers list 안에 있는 원소를 numberA로 치환하여
total = total + numberA; 에 넣어준다.
이 반복문은 numbers list에 모든 원소가 numberA로 치환되면 종료된다.
2. while, break, continue
void main(){
// while
// 10부터 19까지 출력하는 while구문
int number = 10;
while(number < 20){
print(number);
number ++;
}
print("---------------------------");
// do while
// 먼저 do에 있는 명령을 실행하고 while의 조건을 확인
int numberA = 10;
do {
print(numberA);
numberA ++;
} while(numberA < 20);
print("---------------------------");
// break, continue
int numberB = 10;
while(numberB < 20){
print(numberB);
numberB ++;
if(numberB == 15){
break;
}
}
print("---------------------------");
// continue 이후에 명령은 실행되지 않고 다음 반복으로 넘어감.
for(int i = 0; i < 10; i++){
if(i == 5){
continue;
}
print(i);
}
}
3. enum(열거형)
// enum 선언
enum Status {
approved,
rejected,
pending,
}
void main(){
// enum
// 승인 : approved
// 반려 : rejected
// 대기 : pending
Status status = Status.approved;
if(status == Status.approved){
print('승인되었습니다.');
}else{
print('반려나 대기 되었습니다.');
}
// enum type의 option 출력
print(Status.values.toList());
}
상수 목록을 만들어 코드를 더욱 직관적으로 만들어준다.
오타를 할 실수를 줄여준다.
4. Function
// 함수
void main(){
//list 선언
List<int> testlist = [
1,
1,
2,
3,
5,
8,
13,
];
int result = addList(testlist, 1);
print(result);
print("----------------------------------");
List<int> testlist2 = [
10, 20, 30, 40, 50,
];
int result2 = addList(testlist2, 2, 5);
print(result2);
print("----------------------------------");
namedfunc(
a : 3,
c : 4,
b : 2,
);
}
// 파라미터 선언 : 자료형 + 파라미터 이름
// return이 있으면 return의 자료형을 써줘야 함.
// 파라미터를 여러개 사용해도 상관 없음
// 대괄호 안에 들어간 optional 파라미터는 있어도 되고 없어도 된다.
// 그러므로 dafault 값을 지정해주지 않으면 null 값이 들어감.
int addList(List testlist, int a, [int b = 2]){
int total = 0;
for(int number in testlist){
total += number;
}
return total;
}
// named 파라미터
// int는 null값을 가지지 못하여 var로 처리해줌.
// 파라미터 입력시 순서가 바뀌어도 상관없고, 안써도 상관 없음.
int namedfunc({
var a,
var b,
var c,
var d,
}){
print('a : $a, b : $b, c : $c, d : $d');
return 0;
}
1. 함수
return value가 있으면 함수 이름 앞에 return value의 자료형을 써준다. (없으면 안써줘도 된다.)
파라미터는 여러 개 사용할 수 있으며, 파라미터를 지정할 때 자료형을 써줘야 한다.
2. Optional parameter
required parameter 다음에 선언되어야 한다.
함수를 사용할 때 파라미터 값이 입력되지 않아도 되며, 이때 ,default 값을 미리 입력해 놓을 수 있다.
Optional parameter를 나타내는 것은 [..] 이다.
3. named parameter
순서가 바뀐 채로 입력되어도 상관없으며, 입력되지 않아도 된다.
named parameter를 나타내는 것은 {...} 이다.
5. typedef
void main(){
add(1,2);
substract(3, 2);
Operation oper = add;
oper(1,2);
oper = substract;
oper(3,2);
// oper가 add가 됨
calculate(1, 2, add);
// oper가 substract가 됨
calculate(3, 2, substract);
}
// typedef 선언
// 함수를 변수처럼 쓸 수 있게 해줌
typedef Operation(int x, int y);
void add(int x, int y){
print('x 더하기 y는 ${x + y}입니다.');
}
void substract(int x, int y){
print('x 빼기 y는 ${x - y}입니다.');
}
// 응용
void calculate(int x, int y, Operation oper){
oper(x, y);
}
'Programming > Flutter&Dart' 카테고리의 다른 글
Dart 기초 문법 (4) (0) | 2022.08.08 |
---|---|
Dart 기초 문법 정리 (2) (0) | 2022.08.04 |
Dart 기초 문법 정리 (1) (0) | 2022.08.03 |