본문 바로가기

[Flutter] 문법정리#1 기본 타입 정리

I'm 영서 2023. 1. 11.
반응형

 

var / dynamic

 

var - 변수에 값이 들어가면 자동으로 타입을 추론

dynamic - 변수의 타입을 유추하지만 타입을 고정하지 않아, 다른 타입의 값 저장 가능.

 

var name = "김고은";
// name = 1  불가

dynamic name = "김고은";
name = 1; // 가능

 

final / const

 

final - 런타임 상수

const - 빌드타임 상수 

final DateTime now = DateTime.now();

const DateTime now2 = DateTime.now(); //에러

 

List <T>

여러값을 순서대로 한 변수에 저장할때 사용..

.add() - 추가

.where() - List에 있는 값을 순회하며 특정 조건에 맞는 값만 필터링하여 사용

.map() - List에 있는 값을 순회하며 값을 변경한다. (이터러블 타입으 반환)

.reduce() - List에 있는 값을 순회하며 매개변수에 입력된 함수를 실행. 순회할때마다 값을 쌓아감 (List 멤버의 타입을 반환)

.fold() - reduce와 같지만 어떠한 타입이든 반환 가능

List<String> alphabet = ['A', 'B', 'C', 'D', 'E', 'F']

//where
final newList = alphabet.where(
 (name) => name == 'A' || name == 'C',
 );
 
//map
final newAlphabet = alphabet.map(
	(name) => name$name
);

//reduce
final allAlphabet = alphabet.reduce(
(value, element) => value +','+element
);

//fold
final numOFAlphabet = alphabet.fold<int>(0, (value, element)=> value + element.length);
// int 타입 반환

 

Map <Key, Value>

키와 값의 짝을 저장. 

Map<String, int> map = {
'Latte' : 5500 ,
'espresso' : 4000 ,
'tea' : 4500 , 
}

// key값 Iterable 반환
map.keys
// value값 Iterable 반환
map.values

Set<T>

중복 없는 값들의 집합

 

enum

한 변수의 값을 몇가지 옵션으로 제한 

 

연산자

double number = 2;

print(number +2);
print(number -2);
print(number *2);
print(number /2);
print(number %3);

// 단항 += ..도 가능

double?> num1 = null; //가능
double num2 = null ; //불가!

num1 ?? = 3; //기존값이 null일때만 가능
num1 ?? = 4; // 기존값이 null이 아니므로 3 유지
반응형

댓글