Dart 문법

쏘리초이·2020년 4월 13일
0

TIL

목록 보기
10/23

var / dynamic

void main(){
  print('Test'); // javascript에서 console.log() 와 같은 함수.
  
  // 타입은 var로 사용해도 무방.
  var a = 10;
  var str = 'Hello'; // 작은따옴표, 큰따옴표 둘 다 가능. 
  var b = 3.5;
  var isMarried = false;
  
  // dynamic은 아무거나 가능한 타입.
  dynamic c = 10;
  myPrint(10);
  myPrint('Hello');
  
  // int와 double 구별을 해야함.
  // num으로 잡아주면 int나 double로 자동 형변환이 가능하다.
  num d = 10;
  
}
myPrint(dynamic str){
  
}

final / const

void main(){
  final a = 10; // type을 쓰지 않아도 됨.final만 적으면 됨.
  const b = 20; // 상수값. 
  
  //둘 다 변경을 하지 못하는 것은 같음.
  // 재사용을 할 땐 const를 사용.  
}

List

void main(){
  //dart에서는 배열이 없고 리스트를 사용해야 함.
  List<String> items = ['a','b','c'];
	
  print(items); //[a,b,c]
  print(items[0]); //a
  print(items[1]); //b
}

Map, ...

void main(){
	var items = [1,2,3];
	
	var itemSet = {1,2,3};
  print(itemSet); //{1,2,3}
  
  var itemMap = {
    'key': 'value',
    'key1': 1,
    'key2': 2,
    'key3': 3,
  }
  print(itemMap); // {key:value, key1:1, key2:2, key3:3}
 	
  var items2 = [...items,4,5];
	print(items2); //[1,2,3,4,5]
}

method

void main(){
	somethingMethod('name');
}
void somethingMethod(String name,{int age}){ //{}가 들어가 있으면 옵션값. {}없으면 필수값.
	print(name);
}

is

void main(){
	var a = 10;
	
	if(a is int){ // is는 type 체크
		print('정수');
	}else if(a is! int){ // is! 는 is not
    print('정수가 아님');
  }
  
  var b = 3.5;
  b = a as double; //typecasting 하는 방법.
  
  var name;
  print(name); // null;
  print(name ?? '널') // 기본값 지정
    
  String name;
  print(name?.toLowerCase()); // null이 아닐때만 사용 '?.' 기호를 사용한다.
}

class

void main(){
	var person = Person('홍길동',age : 10);
}

class Person{
	String name;
	int age;
  
	Person(this.name, {this.age});	//생성자
}

비동기

void main(){
  print ('시작');
  networkRequest();
  print('끝');
}
Future networkRequest() async{ //비동기로 동작할 땐 Future
  print('네트워크 요청 시작');
  await Feture.delayed(Duration(seconds:1));
  print('네트워크 요청 끝');
} 
// 시작 -> 네트워크 요청 시작 -> 끝 -> 네트워크 요청 끝
profile
Hello Universe!

0개의 댓글