2 분 소요

Dart: core Library

Dart를 할 때 자동적으로 import 되기 때문에 따로 import 해줄 필요가 없다.

Numbers and boolean

Dart 문법에서 소개했던 type들은 모두 built-in type로 core에서 자체적으로 제공되는 type이다. https://hack-up-busan.github.io/dart/Dart_Syntax/

Collections

dart:core에서 제공하는 collections로는 List, Map과 Set이 있다. 이것에 대한 설명은 위에 첨부한 문법 부분을 참고하길 바란다.

Iterable

List는 index로 바로 원하는 위치에 접근이 가능 하지만 Map과 set은 그것이 불가능 하다. 하지만 모두(단 map은 keys만) Iterable 클래스이기 때문에 Iterable 클래스의 getter인 iterator를 사용하여 모든 원소를 순회할 수 있다. Iterator의 moveNext가 false를 반환할 때까지 순회한다. 또한 JS처럼 List의 길이 만큼 순회하는 것도 가능하다.

String and StringBuffer

String은 다른 언어들에 흔히 존재하는 문자열이다. Buffer는 입력 값을 받는 공간이라고 생각하면 된다.

  var moreShakespeare = StringBuffer();
  moreShakespeare.write('And all the men and women ');
  moreShakespeare.write('merely players; ...');
  print(moreShakespeare);

StringBuffer에 write 메소드로 먼저 “And all the men and women “를 저장한다. 그리고 다시 한번 write 메소드로 “merely players; …“를 입력 받으면 Buffer에 추가로 해당 문자열이 입력되는 것이다. 그러면 최종적으로 Buffer에는 “And all the men and women merely players; …“가 담겨지게 된다.

Date and time

DateTime Object로 시간과 관련된 작업을 할 수 있다. Javascript에 Date Object와 매우 흡사하다. 웹이든 앱이든 시간을 표시하는 것이 중요하기 때문에 Dart언어에서도 DateTime Object로 시간과 관련된 처리를 할 수가 있다.

출처: 한국경제

크게 중요하진 않지만 JS와의 차이점은 JS의 new Date()는 default 값으로 RFC 날짜 형식을 사용하지만 Dart의 경우 DataTime.now()로 날짜를 선언할 경우 ISO 날짜형식을 사용한다. https://ijmacd.github.io/rfc3339-iso8601/ 이 페이지에서 볼 수 있듯 iso형식이 좀 더 다양한 포멧으로 날짜를 나타낼 수 있다.

var now = DateTime.now();
var berlinWallFell = DateTime(1989, 11, 9);
var moonLanding = DateTime.parse("1969-07-20");

DateTime에 속한 method 또는 DateTime에 parameters를 주는 방식으로 사용이 가능하다.

URI

URI Object의 parse 메소드 사용하여 주어진 uri주소를 파싱하는것이 가능하다. Uri는 다음과 같은 구조를 가진다.

scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]
  1. scheme : 사용할 프로토콜을 뜻하며 웹에서는 http 또는 https를 사용
  2. user와 password : (서버에 있는) 데이터에 접근하기 위한 사용자의 이름과 비밀번호
  3. host와 port : 접근할 대상(서버)의 호스트명과 포트번호
  4. path : 접근할 대상(서버)의 경로에 대한 상세 정보
  5. query : 접근할 대상에 전달하는 추가적인 정보 (파라미터)
  6. fragment : 메인 리소스 내에 존재하는 서브 리소스에 접근할 때 이를 식별하기 위한 정보
final uri = Uri.parse( 'https://dart.dev/guides/libraries/library-tour#utility-classes'); 
print(uri); // https://dart.dev 
print(uri.isScheme('https')); // true
print(uri.origin); // https://dart.dev
print(uri.host); // dart.dev
print(uri.authority); // dart.dev
print(uri.port); // 443
print(uri.path);// guides/libraries/library-tour
print(uri.pathSegments);// [guides, libraries, library-tour]  
print(uri.fragment); // utility-classes
print(uri.hasQuery); // false
print(uri.data); // null

Error

Error 클래스는 런타임에 발생하는 에러를 표시한다.

정규표현식

var numbers = RegExp(r'\d+');

정규표현식은 RegExp함수로 사용이 가능한다. 정규표현식 자체는 내용이 매우 방대하기 때문에 여기서 는 따로 다루지 않겠다.

작성자: YunSukHyun

태그: ,

카테고리:

업데이트:

댓글남기기