【Flutter/Dart】import文の後ろにつくas/show/hideとは?

GitHubなどでDartファイルを見ているとimport文の後ろにasがついていることがあります。

今回はimport文の後ろにつけれるasshowhideの意味と違いについて紹介します。

\ 世界最大級のオンライン学習サービス /

目次

as, show, hideの用途

Flutterで複数のライブラリを使用する際、同じ名前のクラスが複数存在してしまう場合があります。よって同じ名前のクラスがライブラリ間で存在する場合は区別する必要があります。

そのためにas(またはshowhide)を使用します。

asとは

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

//lib1のElementクラスをインスランス化
Element element1 = Element();

//lib2のElementクラスをインスランス化
lib2.Element element2 = lib2.Element();

前提条件として上記コードのlib1lib2ライブラリ(パッケージ)には同じElementクラスがあるものとします。

lib1lib2ライブラリの両方に存在するElementクラスを区別して使用するために片方または両方のimport文にasを使用します。

今回はlib2ライブラリのimport文の後ろにas 〇〇(〇〇は任意で決めれる)をつけることで、lib2ののクラスを使用する際は接頭辞として〇〇が必要となります。(上記コード参照)

showとhideとは

import 'package:lib1/lib1.dart' show Element;

import 'package:lib2/lib2.dart' hide Element;

showhideをimport文で使用することでライブラリで使用できるクラスを制限できます。

showの場合は〇〇で指定したクラスのみ使用でき、hideの場合は〇〇で指定した以外のクラスを使用できます。

asとshowをセットで使用

import 'package:lib2/lib2.dart' as lib2 show Element;

あるライブラリの特定のクラスのみ使用したい場合は、上記コードのようにasshowをセットで使用します。

参考

  • URLをコピーしました!
目次