發表日期:2018-11 文章編輯:小燈 瀏覽次數:1778
剛開始接觸我經常打成 drat或者datr,這玩意到底是什么?
這個是 Google 七年前(2011年)發布發布新網頁編程語言Dart,是一種基于類編程語言(class-based programming language),在所有瀏覽器都能夠有高性能的運行效率,2011年10月10日Google宣布推出Dart的預覽版。其官網地址是:www.dartlang.org,目前已經是Dart2版本了
Google在dartlang.org公布Dart開發工具及源代碼示例等內容,同時也提供相關虛擬機平臺。
目前Dart有兩種方式運行:一是在本地的虛擬機上,二是將Dart代碼轉成Javascript,直接在Javascript引擎上運行
ECMA已經成立技術委員會TC52展開標準化Dart的工作,同時由于Dart能夠被編譯成標準的JavaScript,它能夠有效地在所有現代瀏覽器上運行。2014年7月,ECMA的第107次全體大會通過了第一版Dart語言規范。
總結下來就是 dart 是計算機編程語言,是由谷歌公司開發的網絡編程語言。就類似常見的 Java、C、Swift一樣。并且Dart是面向對象的、類定義的、單繼承的語言。它的語法類似C語言,可以轉譯為JavaScript,支持接口(interfaces)、混入(mixins)、抽象類(abstract classes)、具體化泛型(reified generics)、可選類型(optional typing)和sound type system。
看到這個答案的時候我就是這個表情
本來你只想簡單的做個 Android 開發者的,但是你不進步就被社會淘汰,比如現在 Kotlin,weex,react native 加上 Android 本身的生態混亂,各種適配已經讓你在風中凌亂,現在又來一個 dart,能給調活路嗎?
但是生活不還是得繼續嗎,學會了dart 到時候又可以拿出去跟小伙伴們吹牛逼了,所以繼續學下去。
Flutter 是 Google 推出的移動 UI 框架,野心路人皆知,但是為什么會選擇 Dart 呢?
可以參考一下 這篇文章
Why Flutter Uses Dart ?
為什么 Flutter 會選擇 Dart ?
里面也提到了一部分特性
其實說白了就是,可以快速學習(但我不信)、有靈活的 UI、能達到原生的性能、還可以熱重載。
聽起來很厲害的樣子,那不管怎么樣還是要學一下的。畢竟Google 早就看 Java 不爽了,說不定 Android 15.0就不打算支持了咋整。雖然你可能不會做 Android 做到那個時候。
由于你可能是做 Android 的所以應該是對 Java 比較熟悉(即使不是做 Android 的應該對 Java 也比較熟悉的我相信你),只需要注意下面強調的一些語法特性就行,其他的都比較類似,不需要全部都關注,到時候寫的時候可以現學現用。
printHello({String name}) {print("hello, my name is $name"); }
按著 Java 的這種調用方式會直接運行不起
改成這樣就行。
printHello(name:"簡簡單單敲代碼"); printHello({String name}) {print("hello, my name is $name"); }
當然還有不一樣的地方,現在方法定義成兩個參數,之前那樣調用還是可以的。
printHello({String name, String age}) {print("hello, my name is $name ,my age is $age"); }printHello(name:"簡簡單單敲代碼");
最后再寫個例子你就懂了
printHello(name:"簡簡單單敲代碼"); printHello(age:18); printHello(age:18,name:"簡簡單單敲代碼");printHello({String name, String age}) { print("hello, my name is $name ,my age is $age");}
看看輸出很有意思,跟 Java區別還是挺大的。
是不是就可以不需要方法重載了?
- public、private、protected 沒有了
- 如果一個標識符以 (_) 開頭,則該標識符 在庫內是私有的,
- 可以不使用new關鍵字創建對象
- 沒有float
- int和double是num的子類
- String也可以使用單引號
- Dart需要一個布爾值的時候,只有true對象才被認為true,其他都是false。
is
和is!
當對象是相應類型時返回true
/false
??=
操作符,如果前操作數是null
類型,則將后操作數賦值給前操作數;如果前操作數不等于```null``,則保持前操作數的值發生變化。- 使用
??
表達式。
expr1 ?? expr2
如果expr1的值為non-null,則返回結果為expr1;反之則返回expr2。..
級聯操作符(額。。。)可以連續的操作同一對象,達到減少中間變量,減少代碼的目的。
好像很厲害的樣子。
當然還有很多自己看文檔吧。
日期:2018-10 瀏覽次數:7351
日期:2018-12 瀏覽次數:4418
日期:2018-07 瀏覽次數:4952
日期:2018-12 瀏覽次數:4251
日期:2018-09 瀏覽次數:5590
日期:2018-12 瀏覽次數:10008
日期:2018-11 瀏覽次數:4892
日期:2018-07 瀏覽次數:4658
日期:2018-05 瀏覽次數:4943
日期:2018-12 瀏覽次數:4396
日期:2018-10 瀏覽次數:5219
日期:2018-12 瀏覽次數:6294
日期:2018-11 瀏覽次數:4550
日期:2018-08 瀏覽次數:4671
日期:2018-11 瀏覽次數:12731
日期:2018-09 瀏覽次數:5657
日期:2018-12 瀏覽次數:4921
日期:2018-10 瀏覽次數:4263
日期:2018-11 瀏覽次數:4611
日期:2018-12 瀏覽次數:6145
日期:2018-06 瀏覽次數:4086
日期:2018-08 瀏覽次數:5532
日期:2018-10 瀏覽次數:4532
日期:2018-12 瀏覽次數:4616
日期:2018-07 瀏覽次數:4444
日期:2018-12 瀏覽次數:4590
日期:2018-06 瀏覽次數:4476
日期:2018-11 瀏覽次數:4453
日期:2018-12 瀏覽次數:4333
日期:2018-12 瀏覽次數:5357
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.