Dart中的函式

2021-09-27 01:58:38 字數 1862 閱讀 5674

函式是 dart程式執行的基本單元

一、main函式

main函式是應用的入口。每乙個應用都必須有乙個main函式作為入口。main函式沒有返回值。main函式的引數可以為空(啥都不寫),也可以有乙個 list型別的變數

void main()

void main(listargs)

// 執行命令 dart test.dart hello world

// 結果: [hello, world]

二、內建函式

內建函式也就是dart自帶的api函式,如:print()

void main()

三、可選引數函式

1.dart定義可選引數有兩種方式一種使用{}, 另一種使用。區別就是, 如果用{}宣告,在使用時必須帶著引數名,如:a:123;如果用宣告,在使用時需要按照順序使用

void test(int a, )

void test2(int a, [int b, string c])

void main()

2.dart還提供了預設引數

使用等號指定引數預設值, 預設值只能是編譯時常量

void test(int a, )

void test2(int a, [int b = 2])

void main()

內的變數不允許修改

test2(5); // a = 5, b = 2

test2(5, 500); // a = 5, b = 500, 內的變數可以修改

}

四、匿名函式

匿名函式的主要作用:

void main();	

f1("dart"); // hello dart

}

void main()

"); });

// 如果只有一行**,可以使用=>

listvar.foreach((animal) => print("animal is $"));

}

五、作用域

dart語言的變數是有作用域的,變數的作用域是由**布局決定的。

var str1 = "str1";

main()

// 執行內部函式

testscope();

}

六、閉包

閉包是乙個函式物件,它可以訪問其作用域中的變數,即使該函式在其原始範圍之外使用也是如此。

在以下示例中,makeadder()捕獲變數num。無論返回的函式在**,它都會記住num

// 本例項來自於官網

function makeadder(num);}

main()

七、lambda函式

lambda函式是表示函式的簡潔機制。這些函式也稱為箭頭函式。

語法:

[return_type]function_name(parameters)=>expression;
例項:

printmsg()=>print("hello");

int test()=>123;

void main()

Dart建構函式

2.構造函式呼叫父類建構函式的順序 3.建構函式傳遞 classname 普通建構函式 classname.identifier 命名建構函式 const classname 常量建構函式 factroy classname 工廠建構函式使用 var p1 point 2 2 dart2中,可以省略...

dart函式中的箭頭函式與函式間的相互呼叫

void main list.foreach value print value 箭頭函式,只能寫一句話不能寫多句 寫法1 list.foreach value 需求 修改下面list裡面的資料,讓陣列中大於2的值乘以2 list list 4,1 2,3 4 var newlist list.ma...

Dart 函式 函式引數 匿名函式

dart彙總這裡 main 函式 函式是一等物件 匿名函式 返回值dart 是一門真正物件導向的語言,甚至其中的函式也是物件,並且有它的型別 function 這也意味著函式可以被賦值給變數或者作為引數傳遞給其他函式。也可以把 dart 類的例項當做方法來呼叫。已下是函式實現的示例 bool isn...