首先,我一魄前端。对于dart的一些代码看不懂,求大佬解释下。(在别人博文里面看到的),关于工厂构造函数的。
class Logger {
final String name;
bool mute = false;
// 变量前加下划线表示私有属性
static final Map<String, Logger> _cache = <String, Logger>{};
factory Logger(String name) {
if (_cache.containsKey(name)) {
return _cache[name];
} else {
final logger = new Logger._internal(name);
_cache[name] = logger;
return logger;
}
}
Logger._internal(this.name);
void log(String msg) {
if (!mute) {
print(msg);
}
}
}
var logger = new Logger('UI');
logger.log('Button clicked');// 重点是这一句static final Map<String, Logger> _cache = <String, Logger>{};
鸿蒙传说
人到中年有点甜
随时随地看视频慕课网APP
相关分类