[Dart] Data Types

AI·2023년 10월 31일

String, bool, int, double

void main(){
	String name = "dart";
    bool alive = true;
    int age = 12;
    double money = 69.99;
    //num=int,double 둘 다 가능
    num x = 12;
    x = 1.1;
}

리스트

void main(){
	var numbers = [1, 2, 3, 4];
    List<int> nums = [1, 2, 3, 4];//위와 동일
    var numbers = [
      1, 
      2, 
      3, 
      4,
    ]; // 마지막에 , 붙이면 저절로 여러 줄로 정리
}

first는 리스트의 첫번째 요소 가져옴
last는 리스트의 마지막 요소 가져옴

collection if, collection for 지원
collection if - UI 인터페이스를 만들 때, 이 기능이 굉장히 유용함

void main(){
	var giveMeFive = true;
    var numbers = [
      1, 
      2, 
      3, 
      4,
      if(giveMeFive) 5, //giveMeFive가 true면 5추가
      /*
      if(giveMeFive){
      	numbers.add(5)
      }
      */ //위와 동일
    ];
}

String interpolation : text에 변수를 추가하는 방법

void main(){
	var name = 'dart';
    var greeting = 'Hello everyone, my name is $name, nice to meet you';
    //greeting == Hello everyone, my name is dart, nice to meet you
}
void main(){
	var name = 'dart';
    var age = 10;
    var greeting = 'Hello everyone, my name is $name and I\'m ${age+2}';
    //greeting == Hello everyone, my name is dart and I'm 12
}

collection for - 시간 절약

void main(){
	var oldFriends = ['dart', 'flutter'];
    var newFriends = [
    	'java',
        'c',
        'c++',
        for(var friend in oldFriends) "* $friend",
    ];
    //newFriends == [java, c, c++, * dart, * flutter]
}

map : 자바스크립트의 object, python의 dictionary

void main(){
	var player = {
    	'name':'dart',
        'xp':19.99,
        'superpower':false,
    }; //Map<String(key), Object(value)>
//object == TypeScript의 any
}

명시할 경우

void main(){
	Map<int, bool> player = {
    	1:true,
        2:false,
        3:true,
    }; 
    
    Map<List<int>, bool> palyer2 = {
    	[1, 2, 3, 5]:true,
    }
    
    List<Map<String, Object>> palyers = [
    	{
    		'name':'dart',
        	'xp':19.99,
    	},
        {
        	'name':'flutter',
        	'xp':199993.99,
        },
    ]
}

모든게 class이므로 map도 method와 property를 가지고 있음
key와 value를 가진 Object를 만들때는 class 추천


set

void main(){
	var numbers = {1, 2, 3, 4}; //Set<int>
}

set vs list == set에 속한 모든 아이템들은 유니크함

void main(){
	var numbers = {1, 2, 3, 4}; 
    numbers.add(1);
    numbers.add(1);
    numbers.add(1);
    print(numbers); //=={1, 2, 3, 4}
    //list로 사용시 [1,2,3,4,1,1,1]출력
}

0개의 댓글