dart 单例模式 写法

57 阅读1分钟
class UserInfo {

  factory UserInfo() => _instance;

  UserInfo._internal();
  
  static final UserInfo _instance = UserInfo._internal();
} 
class UserInfo {
  UserInfo._();

  static final UserInfo _instance = UserInfo._();

  static UserInfo get instance => _instance;

  String? name;
  String? avatar;
} 
class UserInfo {
  UserInfo._();

  static UserInfo get instance => _getInstance();
  static UserInfo? _instance;

  static UserInfo _getInstance() {
    _instance ??= UserInfo._();
    return _instance!;
  }
  
  String? name;
  String? avatar;
}