Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗dtOpLbSH 97 of 113 menu
◀ ▶

Директивы show и hide в Dart

Импорт по умолчанию открывает все публичные имена библиотеки. Если нужен только один тип, после пути добавляют show и список разрешенных имен. Так явно видно, что файл использует лишь часть API соседнего исходника.

В post.dart объявим Post и черновик Draft, а в main.dart подключим только запись:

class Post { String title = "home"; } class Draft { String text = "wip"; }
import 'post.dart' show Post; Post post = Post(); print(post.title);

Имя Draft после такого импорта в main.dart недоступно, хотя класс по-прежнему существует в post.dart.

Директива hide работает наоборот: все имена доступны, кроме перечисленных. Ее применяют, когда нужно исключить один конфликтующий тип:

import 'post.dart' hide Draft; Post post = Post(); print(post.title);

hide имеет смысл только если скрываемое имя действительно объявлено в подключаемом файле. Для Draft в примере выше условие выполняется.

В employee.dart объявите Employee и функцию верхнего уровня makeTag, возвращающую строку. В main.dart импортируйте файл только с show Employee и выведите имя объекта Employee.

Дан следующий код:

class Employee { String name = "ann"; } class Draft { String text = "wip"; }

В main.dart подключите employee.dart с hide Draft, создайте Employee и выведите name.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить