Flutter/Dart 를 개발하다보면 점점 많은 라이브러리를 사용하게 되고,
라이브러리끼리 많은 충돌을 일으키기도 합니다.
이럴때는 키워드를 사용하면 많은 부분을 해결할 수 있습니다.
라이브러리를 추가할때 다음과 같이 사용합니다.
import 'dart:async';
List data = [1, 2, 3];
Stream stream = new Stream.fromIterable(data);
하지만 개발을 하다보면, 정말 많은 라이브러리를 추가하게 되고
라이브러리에 포함된 클래스 이름이 중복되는 경우가 많습니다.
그래서 중복을 방지하기 위해 네임스페이스를 지정해줍니다.
import 'dart:async' as abc_async;
List data = [1, 2, 3];
abc_async.Stream stream = new abc_async.Stream.fromIterable(data);
로 사용할 수 있습니다.
그리고 라이브러리에서 show 키워드를 사용하면 특정 클래스만 가져올 수 있습니다.
import 'dart:async' show Stream;
List data = [1, 2, 3];
Stream stream = new Stream.fromIterable(data); // 사용가능
StreamController controller = new StreamController(); // 사용불가
Stream 클래스만 가져왔기 때문에, dart:async 라이브러리에 포함되어 있는 StreamController는 사용하실 수 없습니다.
반대로 hide 키워드를 사용하면, 적힌 클래스를 제외한 클래스만 사용이 가능합니다.
import 'dart:async' hide Stream;
List data = [1, 2, 3];
Stream stream = new Stream.fromIterable(data); // 사용불가
StreamController controller = new StreamController(); // 사용가능
이외에도 코드를 다른 클래스로 분리해서 관리하면, 라이브러리의 충돌을 막을 수 있습니다. :-)
'스터디 > Flutter+Dart' 카테고리의 다른 글
Flutter 자주쓰는 Package(패키지, library) 모음 (Favorite Package) - 작성중 (0) | 2022.09.14 |
---|---|
Flutter 설치 오류 : apk 설치실패, Error: ADB exited with exit code 1, Performing Streamed Install, INSTALL_FAILED_INSUFFICIENT_STORAGE (0) | 2022.09.02 |
Flutter/Dart 랜덤 (0) | 2022.08.30 |
Flutter APK 만들기 명령어 (debug, release) (0) | 2022.08.30 |
Flutter 에러. $HOME/.pub-cache/bin, which is not on your path. (1) | 2022.07.24 |
댓글