Amacım bir singleton yaratmaktı, ancak bunu Rust'ta nasıl kullanacağımı bilmiyordum, this ve this'u okudum, ancak basit bir singleton yaratmanın bir yolu olup olmadığından emin değilsiniz çünkü bir "değişebilir tekil" kelimesinden bahsediyor ve Bir "güvenli-statik-singleton" diğeri.Basit bir temel singleton nasıl oluşturabilirim?
0
A
cevap
4
Tekil, yalnızca tembel olarak başlatılmış bir statik veri parçasıdır. Bu gerçekten lazy-static
'u istediğiniz anlamına gelir. Bir static ref NAME: TYPE = EXPR;
verilen İçin
, makro adı
NAME
ile statik içindeDeref<TYPE>
ve saklar uygulayan benzersiz bir tipini oluşturduğuNot.
NAME
demektir
"tekil" nin yapıcı aslında benzer olduğunu ve &*NAME
"tekil" kendisidir.
Bu soruya şunu sordum çünkü önceki bölümde iyi bir açıklama yapmadı ve zaten bir cevabı var, bu yüzden bunu yapıp diğerinin güncellemesini sil, cevabı kabul etmeden güncellemeyi kabul et –
Basit cevap şöyle olurdu: . Singleton kullanmak neredeyse hiç iyi bir fikir değildir. – Hauleth
Lütfen * ne yapmak istediğinizi * tekille tanımlayın. Eğer bir şeyi mutasyona uğratmıyorsanız, başka seçenekler de vardır. – Shepmaster