티스토리 뷰

Mobile/Flutter

Dart 기본 문법 정리

코코팜 2021. 8. 18. 23:48

 

Flutter

💡
앱 작성을 하면서 필요한 개념 정리

 

 

변수

var (default)

var name = 'name';

Object name = 'name';

String name = 'name';

 

late

  • null 이 되지 않는 변수를 선언하고 나중에 초기화 할 때 사용
late String description;

void main() {
  description = 'Feijoada!';
  print(description);
}

 

final, const

  • final

runtime 에 초기화되는 값 설정 가능

 

  • const

compile 때 초기화 가능 즉

const DateTime now1 = new DateTime.now(); // error

 

Types

  • int, double

num ⇒ int, double 모두 설정 가능

 

// String -> int
var one = int.parse('1');
assert(one == 1);

// String -> double
var onePointOne = double.parse('1.1');
assert(onePointOne == 1.1);

// int -> String
String oneAsString = 1.toString();
assert(oneAsString == '1');

// double -> String
String piAsString = 3.14159.toStringAsFixed(2);
assert(piAsString == '3.14');
  • String

다음 줄에 넘겨쓰기, + 로 문자열 붙이기 가능

var s = 'string interpolation';

assert('Dart has $s, which is very handy.' ==
    'Dart has string interpolation, '
        'which is very handy.');
assert('That deserves all caps. '
        '${s.toUpperCase()} is very handy!' ==
    'That deserves all caps. '
        'STRING INTERPOLATION is very handy!');
// These work in a const string.
const aConstNum = 0;
const aConstBool = true;
const aConstString = 'a constant string';

// These do NOT work in a const string.
var aNum = 0;
var aBool = true;
var aString = 'a string';
const aConstList = [1, 2, 3];

const validConstString = '$aConstNum $aConstBool $aConstString';
// const invalidConstString = '$aNum $aBool $aString $aConstList';
  • bool
  • List
var list = [1, 2, 3];
var list2 = [0, ...list];
assert(list2.length == 4);

var list;
var list2 = [0, ...?list];
assert(list2.length == 1);

var nav = [
  'Home',
  'Furniture',
  'Plants',
  if (promoActive) 'Outlet'
];

var listOfInts = [1, 2, 3];
var listOfStrings = [
  '#0',
  for (var i in listOfInts) '#$i'
];
assert(listOfStrings[1] == '#1');
  • Set
var elements = <String>{};
elements.add('fluorine');
elements.addAll(halogens);
assert(elements.length == 5);
  • Map
var gifts = Map<String, String>();
gifts['first'] = 'partridge';
gifts['second'] = 'turtledoves';
gifts['fifth'] = 'golden rings';

var nobleGases = Map<int, String>();
nobleGases[2] = 'helium';
nobleGases[10] = 'neon';
nobleGases[18] = 'argon';
  • Runes
  • Symbol
  • Null

Function

Lamda

isNoble(atomicNumber) {
  return _nobleGases[atomicNumber] != null;
}

bool isNoble(int atomicNumber) => _nobleGases[atomicNumber] != null; 
//윗줄과 같음

Parameters

💡
parameter는 선택하여 넘길 수 있지만 null이 될 수 없다.

 

Optional positional parameters

String say(String from, String msg, [String? device]) {
  var result = '$from says $msg';
  if (device != null) {
    result = '$result with a $device';
  }
  return result;
}

 

Functions as first-class objects

void printElement(int element) {
  print(element);
}

var list = [1, 2, 3];

// Pass printElement as a parameter.
list.forEach(printElement);

 

 

Null safety

 

  • non-nullable by default

기본적으로 null을 사용하지 않는것을 규칙으로 함 즉 변수를 선언시 초기화 필요

 

자료형 뒤에 ? 를 붙여 Null 사용 가능

int? nullableVar;

 

 

 

 

 

'Mobile > Flutter' 카테고리의 다른 글

[Flutter] splash image 추가하기  (0) 2022.04.20
[Flutter] image file post로 서버에 올리기  (3) 2021.07.28
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함