Dart编程语言入门
Dart基礎入門語法介紹,詳細說明可以查看相關視頻《Dart編程語言入門》。
變量與常量
變量
1.使用?var?聲明變量,默認值為?null
var a;//null a = 10;2.顯示類型聲明
int a;//null a = 10;3.使用?var?聲明,可賦予不同類型的值
var a; //null a = 10; //int a = "Dart"; //string4.使用?final?聲明只能賦值一次的變量
final a = 30; a = 10; //Error常量
使用?const?聲明編譯期常量
const a = 10;數據類型
數值型
Dart中使用?num?表示數值型,子類只有兩種:int?和?double,分別表示整型和浮點型。
1.使用?num?聲明的類型既可以接收整型,也可以接收浮點型;
2.使用?int?聲明整型;
int a = 10;3.使用?double?聲明浮點型
double a = 10.5;4.常用屬性和方法(更多可查看相關api)
int a = 30; a.isEven;//是否偶數 a.isOdd; //是否奇數 a.abs();// 絕對值 a.toDouble();//轉換為浮點型 ...int b = 10.5; b.toInt();//轉換為整型 b.round(); //四舍五入,11 b.floor(); //不大于b的最大整數,10 b.ceil(); //不小于b的最小整數,11 ...字符串
Dart中使用?String?表示字符串。
1.使用?單引號?或?雙引號?創建字符串;
2.使用?三個單引號?或?三個雙引號?創建多行字符串;
String str = '''HelloDart''';String str = """HelloDart""";3.使用?r?創建原始字符串
String str = r'Hello \n Dart'; // "\n"不會被轉義4.插值表達式
使用?${ }?表示插件表達式,單個變量可省略?{ }。
5.常用屬性和方法(更多可查看相關api)
str.length;//字符串長度 str.isEmpty;//是否為空 ...str.contains('xxx');//是否包含xxx str.substring(0,3);//截取前三個字符 str.startsWith('xxx‘);//是否以xxx開頭 str.split(",");//以,分隔字符串,返回數組 ...布爾型
Dart中使用?bool?表示布爾型。布爾型的值只有?true?和?false。
bool isTrue = true; bool isFalse = false;List body ol,body ul{margin:0;padding:0;}body .list-paddingleft-1{padding-left:0} body .list-paddingleft-2{padding-left:20px} body .list-paddingleft-3{padding-left:40px}
Dart中使用?List?表示列表,它和數組是同一概念。
1.創建List,使用?const?創建不可變的List
var list = [1, 2, 3];//創建不可變的List var list = const[1, 2, 3];//使用類創建 var list = new List();2.常用屬性和方法(更多可查看相關api)
- 獲取元素個數
- 判斷是否為空
- 添加元素
- 刪除元素
- 修改元素
- 查詢元素
- 其它
Map
Dart中使用?Map?表示key-value鍵值對。
1.創建Map,使用?const?創建不可變的Map
var map = {'first':'Java','second':'Dart'};//創建不可變的Map var map = {'first':'Java','second':'Dart'};//使用類創建 var map = new Map();2.常用屬性和方法(更多可查看相關api)
- 獲取元素個數
- 判斷是否為空
- 添加元素
- 刪除元素
- 修改元素
- 查詢元素
- 其它
map相加 .List相加.===========================================>
Map a = {'a':1, 'b':2};
Map b = {'c':3, 'd':4};
// print(a+b);
List c = [1,2,3];
var d = [4,5];
// print(c+d);
a.addAll(b);
print(a);
運算符
Dart中的很多運算符和其它語言是相似的,個別不同用法會詳細說明。
算術運算符
- 加減乘除:?+ , - , * , / , ~/ , %
“/” 運算符結果為浮點型;
"~/" 運算符為求整,類似Java中的"/";
"%"運算符為求余;
- 遞增遞減:?++var , var++ , --var , var–
關系運算符
關系運算符包括:== , != , > , < , >= , <=
"=="運算符只是判斷內容是否相同。
邏輯運算符
邏輯運算符包括:! , && , ||
賦值運算符
- 基礎運算符:?= , ??=
“??=” 表示左側變量為空時進行賦值,否則不賦值
int a; a ??= 5; // a = 5int a = 10; a ??= 5; //a = 10- 復合運算符: *+= , -= ,?= , /= , %= , ~/=
條件運算符
- 三目運算符:?condition ? expr1 : expr2
- ??運算符:?expr1 ?? expr2
"??"運算符表示如果expr1為null,則使用expr2的結果,否則使用expr1
String a = "Dart"; String b = "Java"; String c = a ?? b; //c = "Dart"String a; String b = "Java"; String c = a ?? b; //c = "Java"控制流
if語句
if語句和其它語言類似。
if(condition1){//...if(condition2){//...} } else if(condition3){//... } else {//... }for語句
var list = [1,2,3,4,5];for(var index = 0;index < list.length;index++){print(list[index]); }for…in語句
for(var item in list){print(item); }while語句
int count = 0;while(count < 5){print(count++); }do…while語句
do{print(count--); }while(count > 0 && count < 5);break和continue
break:終止當前循環;
continue:跳出當前循環,繼續下一次循環;
switch語句
switch語句支持num、String、編譯期常量、對象和枚舉。
switch(language){case "Dart":print("Dart is my favorite");break;case "Java":print("Java is my favorite");break;case "Python":print("Python is my favorite");break;default:print("None"); }支持使用continue跳轉標簽:
switch(language){Test:case "Dart":print("Dart is my favorite");break;case "Java":print("Java is my favorite");continue Test;case "Python":print("Python is my favorite");break;default:print("None"); }assert語句
assert條件表達式為false時會拋出異常。
assert(str != null);方法
方法聲明
返回類型 方法名(參數1,參數2,....){ 方法體… return 返回值 }- 方法也是對象,并且有具體類型Function;
- 返回值類型、參數類型都可省略;
- 方法都有返回值。如果沒有指定返回類型,默認return null最后一句執行;
- => 語法,適用于方法體只有一個表達式的情況;
可選參數
- 可選命名參數,調用時使用名稱傳值。
- 可選位置參數,調用時根據參數位置傳遞對應類型。
- 如果存在具體參數,可選參數聲明,必須在參數后面
默認參數值
在可選參數中可以使用默認參數值,默認參數值必須是編譯期常量。
printPerson(String name,{int age = 30,String gender = "Female"}){print("name=$name,age=$age,gender=$gender"); }方法對象
Dart中一切都對象,包括方法。所以方法也可以作為對象賦值給其它變量,也可以作為參數傳遞給其它方法。
- 方法賦值給其它變量
- 方法作為參數傳遞
匿名方法
匿名方法沒有具體的名稱,和方法有相同的特性,也是對象,也可作為變量賦值和參數傳遞。
- 匿名方法聲明
- 匿名方法賦值
- 匿名方法作為參數
閉包
- 閉包是一個方法(對象);
- 閉包定義在其它方法內部;
- 閉包能夠訪問外部方法內的局部變量,并持有其狀態
?
轉載于:https://www.cnblogs.com/pythonClub/p/10557276.html
總結
以上是生活随笔為你收集整理的Dart编程语言入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 孕妇梦到胡萝卜是什么意思
- 下一篇: 梦到蛇追着跑什么预兆