使用背景與基本樣式
有時(shí)候針對(duì)不同平臺(tái)會(huì)使用不同dart庫(kù)/dart文件,這個(gè)時(shí)候就需要根據(jù)平臺(tái)條件import
import ‘default.dart’ if(condition) 'other.dart'
實(shí)際例子1
///默認(rèn)導(dǎo)入庫(kù)是’_api.dart'罗洗,如果dart庫(kù)是“dart.library.io”導(dǎo)入’_io.dart'愉舔,以此類推。
import '_api.dart' if (dart.library.io) '_io.dart' if (dart.library.html) '_html.dart' as platform;
//最后的as操作
//This way you import all class from ‘***.dart’ and namespaced it with ‘platform’ keyword
class WebSocketHelper {
/// 暴露 createWebSocketChannel函數(shù)
static WebSocketChannel createWebSocketChannel(String address) {
return platform.createWebSocketChannel(address);
}
}
實(shí)際例子2
import 'dart:async' as async;
void main() {
async.StreamController controller = new async.StreamController(); // doable
List data = [1, 2, 3];
Stream stream = new Stream.fromIterable(data); // not doable because you namespaced it with 'async'
}
例子3(import show)
import 'dart:async' show Stream;
void main() {
List data = [1, 2, 3];
Stream stream = new Stream.fromIterable(data); // doable
StreamController controller = new StreamController(); // not doable because you only show Stream
}