dart系列之:数学什么的就是小意思,看我dart如何玩转它
文章目錄
- 簡(jiǎn)介
- dart:math包的構(gòu)成
- math
- Random
- 總結(jié)
簡(jiǎn)介
dart也可以進(jìn)行數(shù)學(xué)運(yùn)算,dart為數(shù)學(xué)愛(ài)好者專門創(chuàng)建了一個(gè)dart:math包來(lái)處理數(shù)學(xué)方面的各種操作。dart:math包提供了正弦,余弦,最大值,最小值和隨機(jī)數(shù)等操作。
一起來(lái)看看dart:math包都能做什么吧。
dart:math包的構(gòu)成
如果你去查看dart:math的源代碼,你會(huì)發(fā)現(xiàn),dart:math包其實(shí)很簡(jiǎn)單,它里面只有4個(gè)文件。分別是:
math.dart,random.dart,point.dart和rectangle.dart。
后面兩個(gè)文件,主要跟二維坐標(biāo)有關(guān),這里不詳細(xì)說(shuō)明。
我們常用到的就是前面兩個(gè)文件,math和random。
math
math中定義了我們?cè)跀?shù)學(xué)運(yùn)算中常用到的一些常量,如:
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;計(jì)算最大值和最小值:
assert(max(18, 20) == 20); assert(min(18, 20) == 18);使用三角函數(shù):
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包提供了一些比較有用的生成隨機(jī)數(shù)的方法,先看下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來(lái)生成對(duì)應(yīng)的隨機(jī)數(shù):
var random = Random(); random.nextDouble(); random.nextInt(10); random.nextBool();默認(rèn)情況下,Random生成的是偽隨機(jī)數(shù),要想生成更加安全的隨機(jī)數(shù),比如密碼學(xué)意義上的隨機(jī)數(shù),Random還有一個(gè)更加安全的實(shí)現(xiàn)Random.secure()。
總結(jié)
以上就是dart中math庫(kù)的介紹。
本文已收錄于 http://www.flydean.com/18-dart-math/
最通俗的解讀,最深刻的干貨,最簡(jiǎn)潔的教程,眾多你不知道的小技巧等你來(lái)發(fā)現(xiàn)!
歡迎關(guān)注我的公眾號(hào):「程序那些事」,懂技術(shù),更懂你!
總結(jié)
以上是生活随笔為你收集整理的dart系列之:数学什么的就是小意思,看我dart如何玩转它的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: dart系列之:时间你慢点走,我要在da
- 下一篇: dart系列之:还在为编码解码而烦恼吗?