😔
[Dart]partとimportの違い
はじめに
こんにちは、Ryo24です。
Dartはpart
とimport
の2種類でファイルを参照することができます。
本記事は2つの違いと使い分けに関して自分用のメモとして書きました。
partとimportの違いは何?
partとは
part
はpart of
とセットで使い、プログラムを分割します。
one.dart
part 'two.dart';
test(); // print 'test'
two.dart
part of 'one.dart';
void test() {
print('test');
}
one.dart
(part)の拡張としてtwo.dart
(part of)があります。
importとは
import
はファイルを参照します。
one.dart
import 'two.dart';
test(); // print 'test'
two.dart
void test() {
print('test');
}
違いは何?
一見、part
とimport
の違いわかりません...
この2つの違いは、
In Dart, private members are accessible within the same library. With import you import a library and can access only its public members. With part/part of you can split one library into several files and private members are accessible for all code within these files.
引用元: When to use part/part of versus import/export in Dart?
つまり、
-
part
: publicとprivateどちらも読み込む -
import
: publicしか読み込まない
上記の違いがあり、参照内容が完全に異なることがわかります。
結論
基本的にimport
を使いましょう。
partを使うタイミング
freezed
をはじめとする、コードを自動生成する実装で使う。
importを使うタイミング
コンポーネントを活用し、機能を追加するときに使う(= 基本的にこいつを使う)。
参考文献
Discussion