Комбинатор show
Комбинатор show применяется в директиве import
и позволяет подключить из библиотеки только те имена,
которые перечислены после него. Все остальные публичные
имена библиотеки становятся недоступными в текущем файле.
В качестве параметров комбинатор принимает одно или несколько
имен через запятую - это могут быть классы, функции,
переменные или другие сущности.
Синтаксис
import 'path/to/library.dart' show name1, name2;
Пример
Давайте подключим из библиотеки только класс Point
и функцию distance:
import 'geometry.dart' show Point, distance;
void main()
{
var p = Point(1, 2);
print(distance(p, p));
}
Результат выполнения кода:
0.0
Пример
Давайте посмотрим, что произойдет, если обратиться
к имени, которое не было указано в show.
Такой код не скомпилируется:
import 'geometry.dart' show Point;
void main()
{
var p = Point(1, 2);
print(distance(p, p));
}
Результат выполнения кода:
Error: Undefined name 'distance'.
Пример
Давайте применим show вместе с префиксом,
чтобы обращаться к импортированным именам через as:
import 'geometry.dart' as geo show Point, distance;
void main()
{
var p = geo.Point(1, 2);
print(geo.distance(p, p));
}
Результат выполнения кода:
0.0