Dart 문법의 기초 개념과 기본적인 문법을 알아본다.
Dart 프로그래밍 1-1 ~ 1-8
Google에서 개발한 오픈 소스 프로그래밍 용어이다.
Dart 언어로 개발을 쉽게 하기 위한 소스의 모음이다.
라이브러리 : core
async
math
html
등
커맨드라인 도구 : dart
dartaotruntime
변수의 종류
final | 프로그램 실행 시점에 초기화된다. -> 실행 중에 값이 결정되는 변수에는 final
const | 컴파일할 때 초기화된다. -> 프로그램과 관련없이 항상 같은 값에는 const
late | Nonnullable하고 지연 초기화된다.
late 변수는 실제로 사용할 때 뒤늦게 초기화된다. 왜 쓰나? => null값 사용을 최소화하기 위해서
순서가 있는 값들이 모인 형태이다.
타입을 명시하는 경우 이렇게 선언한다.
List<int> listName = []; / var listName = <Type>[];
타입을 명시하지 않는 경우에는 이렇게 선언한다.
var listName = [];
타입을 명시하지 않아도 스스로 추론한다.
리스트의 모든 요소는 같은 타입이어야 한다(Object
타입 가능).
알아두면 좋을 만한 명령어들
궁금한 점 : 같은 값이 여러 개 있으면 indexOf(), remove() 를 사용했을 때 어떻게 반환하는가?
중복되지 않는 값들이 모인 형태이다. 타입을 명시하는 경우 아래처럼 선언한다.
Set<int> setName = {}; / var setName = <Type>{};
타입을 명시하지 않는 경우 이렇게 선언한다.
var setName = {a, b, c, d, e};
var setName = {};
형태로 선언하면 맵 타입이 되어버리므로 주의한다.
타입을 명시하지 않아도 스스로 추론한다.
리스트의 모든 요소는 같은 타입이어야 한다(Object
타입 가능).
중복 값을 허용하지 않고 인덱스가 존재하지 않는다.
알아두면 좋을 만한 명령어들
key와 value를 하나의 쌍으로 묶어서 모은 형태이다.
Map<key type, value type> mapName = {'key1' : 'value1', 'key2' : 'value2', ...}
타입을 명시하지 않는 경우에는 이렇게 선언한다.
var mapName = {'key1' : 'value1', 'key2' : 'value2', ...} / var mapName = {};
키, 값끼리 타입을 통일해야 한다. 단 final
, const
를 활용하면 타입 추론을 Object
로 하기 때문에 값끼리 타입이 다른 것처럼 보여도 오류가 나지 않는다.
키는 중복할 수 없지만 값은 중복할 수 있다.
중복된 키 값이 있으면 가장 마지막에 있는 개체를 인식한다.
알아두면 좋을 만한 명령어들