-
다트 정리(기본)Coding/Flutter(수업) 2020. 2. 17. 09:53반응형
- var 타입 변환 불가능 var n = 1; n = '문자'; - dynamic 타입 변환 가능 dynamic data = 1; data = '문자';
fianl
final 에는 var을 사용할 수 없다.
다른 자료형 타입에는 사용할 수 있다.
final은 자료형 타입을 선언하지 않아도 된다.
final vs const
공통점
-변하지 않는다.
fianl f =DateTime.now(); //(O) const c = DataTime.now(); //(X)
차이점
fianl (결정적인)
- fianl은 compile, runtime시점 모두 값을 정의할 수 있다.
- 값이 없는 상태로도 선언이 가능하다.
- 한번 정의되면 변경 불가능
const (끊임없는)
- compile 시점에만 값을 정의할 수 있다.
- 처음부터 값을 선언해야 한다.
제어문
void main(){ int year = 2000; if(year == 2000){ print('$year입니다'); } }
함수안에 $기호를 사용해서 변수를 자유롭게 사용할 수 있다.
반복문
for(int i=1; i<10; i++){ } for(int i in list){ print(i); }
함수
// 변수명앞에 _(언더바)를 붙이면 private 선언이다. int _add(int a, int b) { return a + b; } var add2 = (int a, int b) => a + b; var add3 = (a, b) => { print(a), print(b), a+b }; void main() { add3(1,2); >>1 >>2 print(add3(1,2)); >>1 >>2 >>{null,3} }
forEach 사용방법
void main() { var list =[1,2,3,4]; list.forEach(print); }
상속
-두개 이상의 클래스를 상속할수 있다.
extands A with B
일반 클래스를 implements 가능하다.
class Animal{ void sound(){ print('어흥'); } } // class Dog extends Animal{} class Dog implements Animal{ void sound(){ print('멍멍'); } } void main(){ Dog d = Dog(); d.sound; }
getter, setter 생성 방법
class Animal{ String _name; int _speed; //자바 // String getName(){ // return _name; // } //플러터 //생성자 Animal(this._name, this._speed); //getter String get name => _name; //setter set name(String name){ _name = name; } } // class Dog extends Animal{} void main(){ Animal a = new Animal('개',1); print('${a._name} ${a._speed}'); }
'Coding > Flutter(수업)' 카테고리의 다른 글
(플러터) 실로폰 (0) 2020.02.20