대부분은 C언어와 비슷하다고 느꼈다.
몰랐던 새로운 점만 정리해놓았다
if(a is int){
print('정수');
}
같은 타입이면 true를 리턴하고, 다른 타입이면 false를 리턴해준다.
String name='홍길동';
print('내 이름은 $name 입니다');
변수 앞에 $기호를 붙여 문자열 내에 변수 삽입이 가능하다.
변수 이름 앞에 '_'를 붙이면 해당 클래스가 정의되지않은 다른 파일에서의 접근이 불가능하다.
class Person{
String name;
int _age;
Person({this.name,this._age});
}
위의 방식으로 간단하게 생성자를 만들 수 있다.
var p = Person(name:'홍길동', _age:15);
변수 생성 방식이다.
int get age => _age;
List<String> items = ['A','B','C'];
List<dynamic> items2 = ['A',5]; //여러 타입을 한 리스트에 넣을 수 있음
List<String> items3 = ['D',...items]; //... 로 컬렉션 안에 컬렉션을 넣을 수 있다.
var map = {
'A' = 1,
'B' = 2,
'C' = 3
};
없다면 null 리턴한다.
void func(String s){
print(s);
}
void main(){
var f = func;
f('hello');
}
함수의 인수로 함수 자체 전달이 가능하다.
void func(Function(int i)f){
f(10);
}
void main(){
func((value){
print(value);
});
}
items.forEach(print);
반복문처럼 보이지 않지만 내부 반복을 통해 리스트 안의 아이템을 각각 출력해준다.
items.where((e)=>e%2==0).forEach(print);
items.where((e)=>e%2==0).map((e)=>'숫자 $e').forEach(print);
toList, toSet
간단하게 컬렉션으로 변환
any
충족하는 요소가 있는지 검사할때 이용
print(items.any((e)=>e%2==0));