TIL

Dart 3주차 라이브러리를 이용해서 확장하기

kimw746 2024. 11. 5. 22:00

라이브러리와 Import

1. import 와 라이브러리는 모듈식 공유 코드 기반을 만들 수 있다.

2. 라이브러리는 API를 제공할 뿐만 아니라 개인 정보 보호 단위이다.

3. 밑줄( _ )로 시작하는 식별자는 라이브러리 내부에서만 사용할 수 있다.

4. 모든 다트 파일은 라이브러리가 된다.

 

라이브러리 사용

import를 사용해서 라이브러리를 불러와 사용할수 있다.

import 'dart:html';

 

내장 라이브러리는 'dart:도표'가 되고, 외부 라이브러리는 'package:도표'가 된다.

import 'pakcage:test/test.dart';

 

라이브러리 접두사 지정

동일한 이름으로 식별자가 충돌하는 경우, 접두사를 지정해서 해결할 수 있다.

그리고, 접두사로 지정된 라이브러리는 접두사로 접근할 수 있다.

import 'package:lib1/lib1.dart';
import 'package:lib2/lib2.dart' as lib2;

// Users Element from lib1.
Element element1 = Element();

// Users Element from lib2.
lib2.Element element2 = lib2.Element();

 

 

라이브러리의 일부만 가져오기

show 와 hide 로 라이브러리를 일부만 가져올 수 있다.

show 는 지정된 요소만 가져오고, hide 는 지정된 요소만 제외하고 가져온다.

// Import only foo.
import 'package:lib1/lib1.dart' show foo;

// Import all names EXCEPT foo.
import 'package:lib2/lib2.dart' hide foo;

 

 

라이브러리 지연 로딩 (웹 전용)

라이브러리 지연 로딩은 웹 앱이 특정 시점에 라이브러리를 로드할 수 있게 해 준다. 하지만 Dart 는 웹 이외의 타깃을 위한 라이브러리 지연 로딩을 지원하지 않는다.

 

라이브러리 지연 로딩을 하기 위해 먼저 deferred as를 사용하여 라이브러리를 가져온다.

import 'package:greetings/hello.dart' deferred as hello;

 

라이브러리가 필요할 때는 loadLibrary()를 호출한다.

동일한 라이브러리를 여러 번 호출해도 라이브러리는 한 번만 로드된다.

Future<void> greet() async {
  await hello.loadLibrary();
  hello.printGreeting();
}

 

라이브러리 지시문

라이브러리 수준의 문서 주석이나 메타데이터 주석을 지정하려면 파일의 시작 부분에 library 선언에 붙인다.

/// A really great test library.
@TestOn('browser')
library;

 

오늘은 개인과제를 하며 전에 했던 과제를 이용해 복습과 강의내용들을 복습하는 시간을 가졌습니다.

그러다보니 강의를 거의 듣지 못해 어제 들은것이라도 다시 듣고 정리했네요ㅠㅠ

'TIL' 카테고리의 다른 글

Dart 전투 RPG_GAME 트러블슈팅과 회고  (0) 2024.11.08
Dart 를 활용한 RPG GAME 만들기  (0) 2024.11.06
3주차..!  (0) 2024.11.04
Dart문법1주차이자 4일차!!  (0) 2024.10.30
Dart 프로그래밍 1주차 이자 2일차!  (2) 2024.10.29