코딩하는 일용직 노동자

Dart 기초문법 (1) 본문

Dart

Dart 기초문법 (1)

bacass 2020. 5. 17. 14:42

아래 주소에서 쉽게 Dart문법을 이용해서 실행시켜볼 수 있다.

https://dartpad.dartlang.org/

 

DartPad

 

dartpad.dartlang.org

 

1.자료형
타입추론 방식을 사용한다.

var a = 10; 


이렇게 써도 되고

int a = 10;


이렇게 써도 된다.

dynamic b = 10;


이런 문법도 있다.

myFunc(dynamic param) {
    print('$param')
}


이렇게 파라메터를 dynamic 타입으로 받게 된다면

myFunc(10);
myFunc('Hello');


를 넣어도 다 된다. 마치 자바의 제너릭과 비슷하다.

num c = 10.1;


또한 숫자형을 모두 포함하는 num 이라는 자료형도 존재한다.
이것은 int 형이든 double 형이든 숫자형을 모두 받을 수 있는 자료형이다.

myNumPrint(num param) {
    print(param);
}
myNumPrint(100);
myNumPrint(3.14);


모두 가능하다.

final a = 10;
final int a = 10;


이렇게 상수를 지정할때 final 을 앞에 붙여주면 된다. final 이 앞에 붙을때는 변수이름 앞에 자료형을 붙여주지 않아도 타입추론을 해준다.

final a = 10;
const b = 20;


상수를 지정하는 방식이 final 과 const 두가지가 있다.
const 는 컴파일타임에 메모리에 상주하게 되고, final 은 동적으로 메모리에 할당이 된다.
앱 전체에서 쓰는 상수는 const, 특정 클래스에서만 사용하는 상수는 final 로 사용하면 되겠다.


변수앞에 언더바(_)를 붙이면 private변수가 된다.

var a = 10; // public
var _b = 20; // private


주석은 여러 방법이있다.

// 주석 1

/*
 * 주석 2
 * 이것은 주석입니다.
 */

/// 주석 3
/// 이것도 주석입니다.
/// [ClassName]
/// dartdoc 으로 HTML 문서 생성 가능한 주석


타입비교는 is를 이용하면 된다.

var a = 100;
if (a is int) {
    print('정수');
}


is not 은 is! 로 한다. 느낌표가 다른 언어와 다르게 뒤에 붙는다 (!)

if (a is! int) {
    print('정수가 아니다');
}


타입캐스트에는 as를 이용한다.

var a = 100;
var b = 3.14;
b = a as double;


null 체크에는 ?? 를 이용한다.

var name; // 값을 지정안했기 때문에 null이다.
print(name ?? '널입니다.'); // null인 경우 ?? 뒤에 값이 찍힌다.


또다른 방법도 있다. 코틀린과 같은 방법이다.

var name;
print(name?.toLowerCase()); // null이 아닌 경우에만 toLowerCase가 실행된다.

'Dart' 카테고리의 다른 글

Dart 기초문법 (4)  (0) 2020.05.17
Dart 기초문법 (3)  (0) 2020.05.17
Dart 기초문법 (2)  (0) 2020.05.17