首先,我一魄前端。對(duì)于dart的一些代碼看不懂,求大佬解釋下。(在別人博文里面看到的),關(guān)于工廠構(gòu)造函數(shù)的。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');// 重點(diǎn)是這一句static final Map<String, Logger> _cache = <String, Logger>{};
添加回答
舉報(bào)
0/150
提交
取消