flutter/dart中如何实现单例模式(singleton)?dart语言本身提供了便捷的机制实现,参考以下代码:

class Singleton {
  static final Singleton _singleton = Singleton._internal();
  
  //工厂构造函数
  factory Singleton() {
    return _singleton;
  }

  //构造函数私有化,防止被误创建
  Singleton._internal();
}


使用方式:

main() {
  var s1 = Singleton();
  var s2 = Singleton();
  print(identical(s1, s2));  // 相等
  print(s1 == s2);           // 相同对象
}