dart引數傳方法 Dart語法之可選引數

2021-10-25 17:41:48 字數 1211 閱讀 8082

dart方法有兩種型別的引數:必需的和可選的。必需的我們一般都知道,這裡主要分析可選引數。

如果同時包含可選引數和必需引數,必需的引數在引數列表前面, 可選數在後面。

可選引數可以有乙個預設值,當預設值在呼叫者沒有指定值時使用。這一點和kotlin的語法很像。其次可選引數具體可分為:

optional named parameters(可選命名引數)

optional positional parameters(可選位置引數)

可選命名引數

在方法引數中,使用"{}"包圍的引數屬於可選命名引數,比如

void _buildthree(int num, ) ) {

呼叫包含可選命名引數的方法時,需要使用paramname:value的形式指定為哪個可選引數賦值,比如:

_buildthree(10,range: 1);

可選位置引數

在方法引數中,使用""包圍的引數屬於可選位置引數,比如

void _buildhouse(int num, [string where, int range]) {

void _buildhouseanddefaultvalue(int num, [string where = 'shanghai', int range]) {

呼叫包含可選位置引數的方法時,無需使用paramname:value的形式,因為 可選位置引數是位置,如果想指定某個位置上的引數值,則必須前面位置的已經有值,即使前面的值存在預設值。 比如:

_buildhouse(10,10); //不可行的

_buildhouse(10,'shenzhen',10); //可行的

_buildhouseanddefaultvalue(10,10); //不可行的

_buildhouseanddefaultvalue(10,'shenzhen',10); //可行的

這裡特意使用兩個不同型別的可選引數作為示例,如果前後可選引數為相同型別,則會出現異常結果,並且只有在發生後才會注意到。所以這一點要特別注意。比如一下示例,假如本意是想賦值給age,但結果將會差強人意

void _buildhouse(int num, [int range , int age]) {

print('range : $range age : $age');

void main() {

_buildhouse(10,10);

輸出:range : 10 age : null

dart引數傳方法 dart語言基礎知識

一 dart入口方法介紹dart列印dart注釋 dart變數 常量 命名規則 main print hello world function set void dart是個強大的指令碼類語言,可以不預先定義變數型別,自動會i型別變數 dart 中定義變數可以通過var關鍵字可以通過型別來申明變數 ...

Dart語法基礎

dart官網 www.dart.dev 一 dart語法基礎 1 入口方法 main void main function setdata void ctrl 可快速注釋 2 定義變數 var str hello world var num 123 print str 字串 string str2 ...

Dart語法 基礎篇

dart mac安裝 安裝 brew tap dart lang dart brew install dart 安裝穩定版 brew install dart devel 安裝dev版 更新 brew update brew upgrade dart brew cleanup dart 檢視安裝路徑...