지난 글에 이어서 다트의 기초 문법을 알아보겠습니다.
조건문, 반복문 예외처리에 대해 정리해보도록 하겠습니다.
조건문
if문
if(조건식) {
}
지정한 조건식이 참일 때 처리합니다.
void main() {
int number = 10;
if (number >= 5) {
print('5이상');
}
}
if else 문
if(조건식){
조건식이 참일때 처리
}
else{
조건식이 거짓일때 처리
}
조건식이 참, 거짓일 경우에 대해 각각 처리합니다.
void main() {
int number = 4;
if (number >= 5) {
print('5이상');
}
else {
print('5 미만');
}
}
switch문
switch(식){
case 값1:
처리1
break;
case 값2:
처리2
break;
default:
디폴트처리
break;
}
switch문은 식의 값이 3개 이상으로 분기될 때 사용합니다.
void main() {
String animal= '사자';
switch (animal) {
case '사자':
print('사자');
break;
case '고양이':
print('고양이');
break;
case '호랑이':
print('호랑이');
break;
default:
print('사자, 고양이, 호랑이 이외의 동물');
break;
}
}
삼항 연산자
(조건식) ? 참일경우처리 : 거짓일경우처리;
삼항 연산자를 사용하면 if else문을 하나의 처리로 정의할 수 있습니다.
void main() {
int num = 8;
(num >= 5) ? print('5이상') : print('5이하');
}
루프 처리
while 문
while(조건식){
처리
}
조건식이 true일 때 반복적으로 처리를 진행하고, 조건식이 flase가 되면 반복 처리를 종료합니다.
void main() {
int num = 0;
while (num < 3) {
print(num);
num++;
}
}
do while 문
do {
처리
} while (조건식)
do while문은 먼저 처리를 실행한 후 조건식으로 루프 처리를 계속할지 확인합니다.
void main() {
int num = 0;
do {
print(num);
num++;
} while (num < 3);
print('루프종료');
}
for 문
for( 초기화식; 조건식; 변화식){
조건식이 true 동안 처리
}
for 문은 초기화 표현식, 조건식, 변화식을 지정해야 합니다. 조건식이 true일 동안 반복 처리를 하고, 변화식에 의해 조건식이 false가 되면 루프 처리가 종료됩니다.
void main() {
for (var i = 0; i < 3; i++) {
print(i);
}
print('루프종료');
}
//0
//1
//2
//루프종료
for…in 문
for (var 변수 in 배열){
처리
}
for…in 문을 사용하면 List나 Set에 저장된 모든 데이터를 순서대로 변수에 할당하여 처리할 수 있습니다. 배열의 마지막 데이터를 취득해 처리가 종료되면 루프 처리가 종료됩니다.
void main() {
var mixFruit = ['apple', 'banana', 'grape'];
for (var fruit in mixFruit) {
print(fruit);
}
print('루프종료');
}
//apple
//banana
//grape
//루프종료
forEach문
forEach문은 for…in과 마찬가지로 List, Set에 저장된 값을 인덱스 순서대로 가져옵니다. Map의 경우는 ket도 취득할 수 있습니다.
List, Set의 forEach
리스트.forEach((변수){
처리
}
)
var mixFruit = ['apple', 'banana', 'grape'];
mixFruit.forEach((fruit){
print(fruit);
}
);
//apple
//banana
//grape
Map의 forEach
Map객체.forEach((키,값){
처리
}
)
Map의 경우 콜백 함수의 인수에 key와 value로 두 개의 값을 가져올 수 있습니다.
void main() {
var ages = {
'Alex': 18,
'Ben': 15,
'Charlie': 25,
};
ages.forEach((name, age) {
print("${name} is ${age} years old");
});
}
//Alex is 18 years old
//Ben is 15 years old
//Charlie is 25 years old
예외처리
try{
처리
}
catch(e){
예외일경우 처리
} finally {
마지막에 처리
}
Dart의 예외처리는 try-catch입니다. try로 실행한 처리에 에러가 발생했을 때 catch로 지정한 처리가 실행됩니다. finally로 지정한 처리는 예외가 발생하지 않아도 반드시 실행됩니다.
try on catch
try{
처리
}
on Exception catch(e){
특정 예외에 대해 처리
}
on을 사용하면 특정 예외에 대해서만 예외 처리를 수행할 수 있습니다.
try on catch로 FireBaseAuthException 예외처리 하기
onPressed: () async {
try {
await _auth.createUserWithEmailAndPassword(email: email, password: password);
}
on FirebaseAuthException catch (e) {
print(e);
}
}
'모바일개발 > 플러터' 카테고리의 다른 글
[flutter] 플러터 위젯 Key 쓰는 이유, Key 종류 (0) | 2022.03.21 |
---|---|
[flutter] 플러터 Widget 트리, Element 트리, RenderObject 트리 (0) | 2022.03.20 |
[flutter] 플러터를 위한 다트(Dart) 기초 문법 정리1 (0) | 2022.03.17 |
[flutter] 플러터 StatefulWidget 라이프 사이클 (lifecycle) (0) | 2022.03.16 |
[Flutter]플러터 Flexible과 Expanded 차이점 (0) | 2022.03.15 |
최근댓글