- Published on
Dart 찍먹하기
- Authors

- Name
- 헤이즐 Hazel Yu
Dart란?
Dart는 모든 플랫폼에서 빠른 앱을 개발하기 위해 클라이언트에 최적화된 언어다.
Dart의 특징이자 장점은 아래와 같다
- UI에 최적화되어있다
- null-safety ( https://dart-ko.dev/null-safety )
- isolate 기반의 동시성 ( https://dart-ko.dev/language/concurrency )
- 효율적인 개발환경을 제공해준다 -Hot Reloading ( https://docs.flutter.dev/tools/hot-reload )
- 어떤 플랫폼이든 빠른 속도를 자랑한다
- AOT complie ( https://dart-ko.dev/overview#native-platform )
Dart 기초 문법
main 함수
void main(){
}
- ( )로 매개변수 지정해 받아오기 가능
print( ) 함수
void main(){
pring('Hello Hazel)
}
-문자열 콘솔에 출력
다양한 변수 타입
var -[기본형식] var 변수명 = 값;
- 자동 타입추론 기능 제공 -값 변경 가능 , 중복 선언 불가능
dynamic
- 변수의 타입을 자유롭게 선언 가능
상수 final / const
- final (런타임 상수) - const (빌드타임 상수)
void main(){ final DateTime now = DateTime.now(); const DateTime now = DateTime.now(); }해당 코드 실행시 const에서 에러가 발생한다 (const는 빌드될 때 값이 확정되기 떄문)
변수 타입
| 변수타입 | |
|---|---|
| string : 문자열 | int : 정수 |
| double : 실수 | bool : 불리언 |
컬렉션
- 여러 값을 하나의 변수에 저장할 수 있는 타입
List타입
- 리스트 타입은 여러값을 순서대로 한 변수에 저장할 때 사용된다. 리스트명[인덱스] 형식으로 특정원소에 접근이 가능하다.
add( )
void main() {
List<String> flutterStudy = ['베짱이','Hun','Jake','이지훈'];
print(flutterStudy);
flutterStudy.add('헤이즐');
print(flutterStudy);
}
- **When ? List에 값을 추가할 때 사용
- How ? 추가하고 싶은 값을 매개변수에 입력한다.
Where( )
void main() {
final HunflutterStudy = flutterStudy.where(
(name) => name == 'Hun' || name == '이지훈',
);
print(HunflutterStudy);
print(HunflutterStudy.toList());
}
- **When ?**List에 있는 값을 순회하며 조건을 충족시키는 값만 필터링하는데 사용
- ** How ?** 매개변수에 함수를 입력하면, 입력된 함수는 기존값을 하나씩 매개변수로 받음. True일시에는 값을 유지하고 false일시 값을 버린다. map()
void main() {
List<String> flutterStudy = ['베짱이','Hun','Jake','이지훈', '헤이즐'];
final allMembers = flutterStudy.map(
(name) => '스터디멤버 $name',
);
print(allMembers);
}
- List에 있는 값을 순서대로 순회하며 값을 변경 reduce()
void main() {
List<String> flutterStudy = ['베짱이','Hun','Jake','이지훈', '헤이즐'];
final allMembers = flutterStudy.reduce((value, element) => value + ',' + element);
print(allMembers);
}
fold( )
void main() {
List<String> flutterStudy = ['베짱이','Hun','Jake','이지훈', '헤이즐'];
final allMembers = flutterStudy.fold<int>(
0, (value, element) => value + element.length);
print(allMembers);
}
Map 기본
void main() {
Map<String, String> animals = {
'dog' : '강아지',
'cat' : '고양이',
'horse' : '말',
'rat' : '쥐',
};
print(animals['dog']);
print(animals['cat']);
}
Map 키, 값 반환
void main() {
Map<String, String> animals = {
'dog' : '강아지',
'cat' : '고양이',
'horse' : '말',
'rat' : '쥐',
};
print(animals.keys);
print(animals.values);
}
Set타입
void main() {
Set<String> flutterStudy = {'베짱이','Hun','Jake','이지훈', '헤이즐'};
print(flutterStudy);
print(flutterStudy.contains('헤이즐'));
print(flutterStudy.toList());
List<String> flutterMems = ['베짱이', 'Hun', 'Jake'];
print(Set.from(flutterMems));
}
Enum
enum Status{
approved,
pending,
rejected,
}
void main(){
Status status = Status.approved;
print(status);
}