【 Flutter 】Flutter を 基礎 から 学習 ( Dart編 ) part27 ライブラリと可視性

基礎 から 学ぶ Flutter 」という書籍で  学習 したことを ブログでアウトプットしていこうと思います。今回は Dart編 ( part27 )です。

前回

【 Flutter 】Flutter を 基礎 から 学習 ( Dart編 ) part26 ライブラリと可視性

今回もライブラリと可視性について学習します。

ライブラリと可視性

一部分だけインポート

1つのdartファイルの中には関数やクラスをたくさん定義できます。
これをライブラリとしてまるっと使用することもできますが経験的に「使用する関数・クラスだけ」を使用した方がよいと思います。

Dartでライブラリの一部だけインポートするにはimportshowもしくはhideキーワードを使います。

testA/test.dart

String hoge01() {
   return 'testAフォルダのhoge01!';
}

String hoge02() {
   return 'testAフォルダのhoge02!';
}

String hoge03() {
   return 'testAフォルダのhoge03!';
}

String hoge04() {
   return 'testAフォルダのhoge04!';
}

String hoge05() {
   return 'testAフォルダのhoge05!';
}

class Hoge {
    String name= '';
}

testB/test.dart

String fuga01() {
   return 'testBフォルダのfuga01!';
}

String fuga02() {
   return 'testBフォルダのfuga02!';
}

String fuga03() {
   return 'testBフォルダのfuga03!';
}

String fuga04() {
   return 'testBフォルダのfuga04!';
}

String fuga05() {
   return 'testBフォルダのfuga05!';
}

class Fuga {
    String name= '';
}

main.dart

// hoge01だけインポート
import 'testA/test.dart' show hoge01;

// Fugaクラスだけインポート「しない」
import 'testB/test.dart' hide Fuga;

void main() {
  print('Hello Dart! ' + hoge01());
  
  // hoge01だけインポートしているのでhoge02は使用できません。
  //print('Hello Dart! ' + hoge02());
  
  print('Hello Dart! ' + fuga01());
  print('Hello Dart! ' + fuga02());
  
  // Fugaはインポートしていないので使用できません。
  var a = Fuga();
}

最後に

ライブラリと可視性については今回でおしまいです。
次はDartの特徴に入ります。

今日はここまで!