簡介
dart也可以進行數學運算,dart為數學愛好者專門建立了一個dart:math包來處理數學方面的各種操作。dart:math包提供了正弦,餘弦,最大值,最小值和隨機數等操作。
一起來看看dart:math包都能做什麼吧。
dart:math包的構成
如果你去檢視dart:math的原始碼,你會發現,dart:math包其實很簡單,它裡面只有4個檔案。分別是:
math.dart,random.dart,point.dart和rectangle.dart。
後面兩個檔案,主要跟二維座標有關,這裡不詳細說明。
我們常用到的就是前面兩個檔案,math和random。
math
math中定義了我們在數學運算中常用到的一些常量,如:
const double e = 2.718281828459045;
const double ln10 = 2.302585092994046;
const double ln2 = 0.6931471805599453;
const double log2e = 1.4426950408889634;
const double log10e = 0.4342944819032518;
const double pi = 3.1415926535897932;
const double sqrt1_2 = 0.7071067811865476;
const double sqrt2 = 1.4142135623730951;
計算最大值和最小值:
assert(max(18, 20) == 20);
assert(min(18, 20) == 18);
使用三角函式:
assert(cos(pi) == -1.0);
var degrees = 30;
var radians = degrees * (pi / 180);
var sinOf30degrees = sin(radians);
assert((sinOf30degrees - 0.5).abs() < 0.01);
Random
dart中的random包提供了一些比較有用的生成隨機數的方法,先看下Random類的定義:
abstract class Random {
external factory Random([int? seed]);
external factory Random.secure();
int nextInt(int max);
double nextDouble();
bool nextBool();
}
我們可以使用Random中提供的nextInt,nextDouble和nextBool來生成對應的隨機數:
var random = Random();
random.nextDouble();
random.nextInt(10);
random.nextBool();
預設情況下,Random生成的是偽隨機數,要想生成更加安全的隨機數,比如密碼學意義上的隨機數,Random還有一個更加安全的實現Random.secure()。
總結
以上就是dart中math庫的介紹。
本文已收錄於 http://www.flydean.com/18-dart-math/
最通俗的解讀,最深刻的乾貨,最簡潔的教程,眾多你不知道的小技巧等你來發現!
歡迎關注我的公眾號:「程式那些事」,懂技術,更懂你!