시작 전 안드로이드 스튜디오 말고 간단하게 Dart를 다룰 수 있는 웹사이트를 추천합니다.
Part 1. Concept (콘셉트)
Flutter는 사실 프로그래밍 언어가 아닙니다. 구글에서 개발한 Dart라는 언어를 사용하는 Framework입니다.
Dart라는 언어는 매우 일관적이며 간결한 프로그래밍 언어를 지향하고 있습니다.
- 변수에 넣을 수 있는 모든 것은 객체이고, 모든 객체는 클래스의 인스턴스입니다.
- 변수의 타입은 정해져 있지만 유추가 가능합니다.(var, etc..) 타입이 없다 선언할 때는 dynamic을 사용합니다.
- <dynamic> 같은 제네릭 형식을 지원합니다.
- 함수에서 함수를 생성할 수 있습니다.
- 클래스 또는 객체와 연결된 변수뿐 아니라 최상위 변수를 지원합니다.
- public, protected, private는 없지만, 식별자가 밑줄로 시작하면 비공개를 의미합니다.
- 표현식과 명령문을 모두 가지고 있습니다.
- 프로그램을 실행할 때 경고 및 오류를 표시합니다.
Part 2. Variables (변수)
void main() {
var hello = 'Hello world';
print(hello);
}
var는 변수의 타입을 스스로 유추하여 지정해줍니다.
print는 문자열을 출력해줍니다.
dynamic v;
print(v);
v = '10';
print(v);
dynamic은 타입을 지정하지 않을 때 사용이 가능합니다.
int y = 10;
print(y);
String name = 'Str';
print(name);
int 및 String을 지정할 수 있습니다.
int Count;
print(Count == null);
기본적으로 객체에는 null이 들어있습니다. 변수를 할당할 때 타입이 정해집니다.
void main() {
final test1 = 'test';
final String testString1 = 'test';
print(test);
print(testString);
const test2 = 'test';
const String testString2 = 'test';
print(test2);
print(testString2);
}
에디터가 Dart을 지원하지 않아 final에 색이 표시되지는 않지만
final과 const는 값을 바꿀 수 없습니다 하지만 차이점은 const의 경우 컴파일 시에 값이 결정됩니다.
double d = 1;
print(d == 1.0);
더블로 변환합니다.
var ip = int.parse('1');
print(ip == 1);
var dp = double.parse('1.1');
print(dp == 1.1);
문자를 int 혹은 double로 파싱이 가능합니다.
파싱(parsing)이란?
파싱은 parse에 -ing를 붙인 형태입니다. 주로 어떤 데이터를 다른 모양으로 가공하는 걸 말합니다.
예를 들어 int.parse('3')은 3이라는 스트링형 데이터를 다른 모양(정수)으로 가공하는 걸 말합니다.
String ts = 1.toString();
print(ts == '1');
String tsf = 3.14159.toStringAsFixed(2);
print(tsf == '3.14');
toString도 지원합니다. 이것은 파싱과 반대 의미입니다.
var empty = '';
print(empty.isEmpty);
var nan = 0 / 0;
print(nan.isNaN);
빈 값인지, NaN인지 판별 가능합니다.
var list = [2,3,4];
print(list);
당연히 리스트도 지원합니다.
'Flutter' 카테고리의 다른 글
[Flutter News] Flutter Clock Challenge 의 승자는? (0) | 2020.02.28 |
---|---|
Flutter 정리 -4 기본적인 디자인의 이해 (0) | 2020.02.26 |
Flutter에서 "reference to an enclosing class method cannot be extracted"가 나타날 때 해결법 (0) | 2020.02.08 |
Flutter 정리 - 3 Flutter 문법에 관하여 알아보기 - 함수편 (0) | 2020.02.03 |
Flutter 정리 - 1 설치를 해봅시다. (0) | 2020.02.03 |