Flutter๋ฅผ ์ด์ฉํ์ฌ ์ฑ ๊ฐ๋ฐ์ ํ๊ธฐ ์ํด์ Dart ๊ณต๋ถ๋ ํ์์ด๋ค. ์ํํ๊ณ ํ๋ณตํ Flutter ๊ฐ๋ฐ์ ์ํด ๊ณต๋ถํ ๋ด์ฉ์ ๊ธฐ๋กํด ๋ณด์.๐ฅด
Dart๋ ๊ฐ๋ฐ ๋๊ตฌ๋ฅผ ์ถ๊ฐ๋ก ์ค์นํ์ง ์๊ณ ๋คํธํจํธ(dartpad) ์น์ฌ์ดํธ๋ฅผ ํ์ฉํ์ฌ ํ์ต์ด ๊ฐ๋ฅํ๋ค. dartpad.dev
Dart๋ C์ฒ๋ผ main() ํจ์๊ฐ ์ง์ ์ ์ด๋ค. ๋ํ ๋ฌธ์ฅ์ ๋์ ์ธ๋ฏธ์ฝ๋ก (;)์ ๋ถ์ฌ์ผ ํ๋ค.
void main() {
// ์ฝ๋ ์์ฑ~
}
Dart๋ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ณธ ํ์ ์ ์ ๊ณตํ๋ค.
int : ์ ์(1, 2, 3...) int a = 1;
double : ์ค์(3.1, 4.7, 31.1232...) double b = 4.1;
String: ๋ฌธ์์ด String hello = 'Hello!';
bool : ์ฐธ ๋๋ ๊ฑฐ์ง ๊ฐ(true, false) bool a = false
num : int์ double์ ํฌํจํ๋ ํ์
num a = 1;
num b = 3.1;
Dart๋ ํ์
์ ์ง์ ๋ช
์ํ์ง ์๊ณ var
๋ก ๋์ฒดํ ์ ์๋ ํ์
์ถ๋ก ์ ์ง์ํ๋ค. ์ฃผ๋ก ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค.
var i = 10; // int
var d = 3.4; // double
var s = 'hello'; // String
var s2 = "hello"; // bool
var b = true // bool
var b2 = i < 10; // bool
var b3 = s.isEmpty; // bool
ํ๋ณํ์๋ as
ํค์๋๋ฅผ ์ฌ์ฉํ๋ค. ๋ค๋ฅธ ํ์
๋ผ๋ฆฌ๋ ๋ณํ์ด ์ ๋์ง๋ง, ๋ ์์ ๊ฐ๋
์ผ๋ก ๋ณํ์ด ๊ฐ๋ฅํ๋ค.
var c = 30.4;
int d = c as int; // Error!
int a = 5;
num n = a; // as ์๋ต ๊ฐ๋ฅ
Dart๋ ๋ค์๊ณผ ๊ฐ์ ์ฐ์ ์ฐ์ฐ์๋ฅผ ์ ๊ณตํ๋ค.
+
: ๋ํ๊ธฐ
-
: ๋นผ๊ธฐ
*
: ๊ณฑํ๊ธฐ
/
: ๋๋๊ธฐ(double ํ์
)
~/
: ๋ชซ(int ํ์
)
%
: ๋๋จธ์ง(int ํ์
)
assert()
ํจ์๋ ๊ณ์ฐ ๊ฒฐ๊ณผ๊ฐ ์ฐธ์ธ์ง ๊ฒ์ฌํ๋ค.
// ๋ค์ ๊ฐ์ ๋ชจ๋ ์ฐธ(true)์ด๋ค.
assert(2 + 3 == 5);
assert(5 - 2 == 3);
assert(3 * 5 == 15);
assert(5 / 2 == 2.5);
assert(5 ~/ 2 == 2);
assert(5 % 2 == 1);
๋ํ๊ธฐ ์ฐ์ฐ์๋ก ๋ ๊ฐ์ ๋ฌธ์์ด์ ๊ฒฐํฉํ ์ ์๋ค.
assert('Hello' + 'World' == 'Hello Wrold');
์ฆ๊ฐ ์ฐ์ฐ์๋ ๊ฐ์ 1์ฉ ์ฆ๊ฐํ๊ฑฐ๋ ๊ฐ์์ํค๋ ์ฐ์ฐ์๋ก ์ ์ ์ฐ์ฐ๊ณผ ํ์ ์ฐ์ฐ์ด ์๋ค.
var num = 0;
print(num++); // ๋์ค์ ๊ณ์ฐํ๋ฏ๋ก 0 ์ถ๋ ฅ
// num = 1 ์ด ๋จ
print(++num); // ๋จผ์ ๊ณ์ฐํ๋ฏ๋ก 2 ์ถ๋ ฅ
Dart๋ ๋ค์๊ณผ ๊ฐ์ ๋น๊ต ์ฐ์ฐ์๋ฅผ ์ ๊ณตํ๋ค.
==
: ๊ฐ๋ค
!=
: ๋ค๋ฅด๋ค
>
: ๋ ํฌ๋ค
<
: ๋ ์๋ค
>=
: ํฌ๊ฑฐ๋ ์๋ค
<=
: ์๊ฑฐ๋ ๊ฐ๋ค
๊ณ์ฐ์์ ์ฐ์ฐํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ์ฐธ ๋๋ ๊ฑฐ์ง์ผ๋ก ๋ฐํํ๋ ๋ ผ๋ฆฌ ์ฐ์ฐ์๋ ๋ค์๊ณผ ๊ฐ๋ค.
&&
: ๊ทธ๋ฆฌ๊ณ
||
: ๋๋
==
: ๊ฐ๋ค
!
: ๋ถ์
!=
: ๋ค๋ฅด๋ค
์์ง๊น์ง๋ ์ง๊ธ๊น์ง ๋ฐฐ์ด ์ธ์ด(javascript)์ ํฌ๊ฒ ์ฐจ์ด์ ์ด ์์ด ๊ธ๋ฐฉ ๋ฐฐ์ธ ์ ์์๋ค. ๋๋จธ์ง ๋ถ๋ถ(ํจ์, ํด๋์ค, ์ปฌ๋ ์ ...)์ ์ถํ ์ ๋๋ก ํ์ตํ ํ ์ ๋ฆฌํ ๊ณํ์ด๋ค.