【Flutter 學習筆記】使用具名參數呼叫函式

更新於 發佈於 閱讀時間約 5 分鐘
raw-image
【Flutter 學習筆記】線上課程教學影片:連結
【Flutter 學習筆記】系列文章目錄:連結

在 Dart 程式語言中,除了位置參數和預設參數值外,具名參數的使用讓函式的呼叫變得更加清晰且易於理解。特別是在參數較多的情況下,具名參數的優勢尤為明顯。本篇文章將深入探討如何定義和使用具名參數,並透過實際範例來加深讀者的理解。

具名參數的函式結構

定義一個具有具名參數的函式的基本語法如下:

回傳值型別 函式名稱({參數型別 參數名稱, 參數型別 參數名稱}) {
// 函式主體
return 回傳值;
}

語法說明

  • 回傳值型別:指定函式回傳的資料型別,例如 int、String、double 等。函式名稱:用來呼叫函式的名稱,應具描述性,以便於理解其功能。參數:函式可以接收的輸入值,使用大括號 {} 來定義具名參數。這表示這些參數是可選的,呼叫函式時可以選擇性地提供這些參數。

範例:計算圓形面積的函式

接下來,我們將透過一個簡單的範例來說明具名參數的使用。我們將定義一個計算圓形面積的函式,並使用具名參數來接收半徑和圓周率。

函式定義

以下是計算圓形面積的函式:

double calculateCircleArea({double radius = 1.0, double pi = 3.14}) {
return pi * radius * radius;
}

在這個範例中:

  • double 是回傳值的型別,表示這個函式會回傳一個浮點數。calculateCircleArea 是函式的名稱。{double radius = 1.0, double pi = 3.14} 是函式的參數,radius 表示圓的半徑,pi 表示圓周率,並且都設定了預設值。

函式呼叫

當我們呼叫這個函式時,可以這樣寫:

void main() {
double area1 = calculateCircleArea(); // 使用預設值
double area2 = calculateCircleArea(radius: 5.0); // 指定半徑
double area3 = calculateCircleArea(radius: 5.0, pi: 3.14159); // 指定半徑和圓周率

print("半徑為 1.0 的圓面積是: $area1"); // 輸出: 半徑為 1.0 的圓面積是: 3.14
print("半徑為 5.0 的圓面積是: $area2"); // 輸出: 半徑為 5.0 的圓面積是: 78.5
print("半徑為 5.0,圓周率為 3.14159 的圓面積是: $area3"); // 輸出: 半徑為 5.0,圓周率為 3.14159 的圓面積是: 78.53975
}

程式碼解析

  1. 使用預設值:當我們不提供任何參數時,函式會自動使用預設的半徑 1.0 和圓周率 3.14。這樣的設計使得函式在不需要額外輸入的情況下仍然能夠正常運作。指定參數:當我們指定半徑時,例如 calculateCircleArea(radius: 5.0),可以清楚地看到我們所提供的參數名稱。這樣的設計不僅提高了函式的可讀性,還使得程式碼更加易於維護。靈活性:透過具名參數,我們可以靈活地指定需要的參數,而不必依賴於參數的順序。這在參數較多或有預設值的情況下,特別有助於提高程式碼的可讀性和可維護性。

輸出結果

在 main 函式中,我們呼叫了 calculateCircleArea 三次,並將結果輸出到控制台。以下是每次呼叫的輸出結果:

  • 第一個呼叫:使用預設值,計算半徑為 1.0 的圓面積,結果為 3.14。第二個呼叫:指定半徑為 5.0,使用預設的圓周率 3.14,計算結果為 78.5。第三個呼叫:同時指定半徑和圓周率,計算結果為 78.53975。

這些輸出結果清楚地顯示了不同參數設定下的圓面積計算,並且透過具名參數的使用,讓程式碼的意圖更加明確。

結論

具名參數在 Dart 中提供了一種靈活且易於理解的方式來定義和使用函式。透過具名參數,我們可以在呼叫函式時清楚地指定每個參數的意義,這不僅提高了程式碼的可讀性,還使得維護和擴展變得更加簡單。

在實際開發中,當函式的參數數量增多時,具名參數的優勢會更加明顯。

留言
avatar-img
留言分享你的想法!
avatar-img
HKT實驗室
24會員
261內容數
哈囉!歡迎光臨我的沙龍!我是 KT,一位對應用程式開發充滿熱情的開發者。在這個專屬空間,我將與您分享我在應用開發領域的深入學習心得和豐富的實戰經驗。如果您對應用程式開發技術同樣充滿好奇,渴望不斷探索新知,歡迎成為我們的會員,一起在應用程式開發的旅途上,探索更深層次的技術世界,享受學習的樂趣。
HKT實驗室的其他內容
2024/11/17
在 Dart 程式語言中,函式不僅可以接收參數,還能為這些參數設定預設值。這樣的設計使得函式的呼叫更加靈活,並且簡化了程式碼的撰寫。本文將深入探討如何定義具有預設參數值的函式,並透過實際範例來加深理解。
Thumbnail
2024/11/17
在 Dart 程式語言中,函式不僅可以接收參數,還能為這些參數設定預設值。這樣的設計使得函式的呼叫更加靈活,並且簡化了程式碼的撰寫。本文將深入探討如何定義具有預設參數值的函式,並透過實際範例來加深理解。
Thumbnail
2024/11/16
在 Dart 程式語言中,函式不僅能執行特定任務,還能回傳值,這使得函式在程式中更具彈性和重用性。本篇文章將深入探討如何定義一個具有回傳值的函式,並透過實際範例來幫助大家理解其結構與用途。
Thumbnail
2024/11/16
在 Dart 程式語言中,函式不僅能執行特定任務,還能回傳值,這使得函式在程式中更具彈性和重用性。本篇文章將深入探討如何定義一個具有回傳值的函式,並透過實際範例來幫助大家理解其結構與用途。
Thumbnail
2024/11/15
本文介紹了 Dart 中具有參數的函式。具有參數的函式允許靈活地處理不同輸入,增強程式碼的模組化和可重用性。透過範例說明,讀者能夠理解如何定義和使用這些函式,並掌握進階概念以提升程式設計能力。
Thumbnail
2024/11/15
本文介紹了 Dart 中具有參數的函式。具有參數的函式允許靈活地處理不同輸入,增強程式碼的模組化和可重用性。透過範例說明,讀者能夠理解如何定義和使用這些函式,並掌握進階概念以提升程式設計能力。
Thumbnail
看更多
你可能也想看
Thumbnail
TOMICA第一波推出吉伊卡哇聯名小車車的時候馬上就被搶購一空,一直很扼腕當時沒有趕緊入手。前陣子閒來無事逛蝦皮,突然發現幾家商場都又開始重新上架,價格也都回到正常水準,估計是官方又再補了一批貨,想都沒想就立刻下單! 同文也跟大家分享近期蝦皮購物紀錄、好用推薦、蝦皮分潤計畫的聯盟行銷!
Thumbnail
TOMICA第一波推出吉伊卡哇聯名小車車的時候馬上就被搶購一空,一直很扼腕當時沒有趕緊入手。前陣子閒來無事逛蝦皮,突然發現幾家商場都又開始重新上架,價格也都回到正常水準,估計是官方又再補了一批貨,想都沒想就立刻下單! 同文也跟大家分享近期蝦皮購物紀錄、好用推薦、蝦皮分潤計畫的聯盟行銷!
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
在 JavaScript 中,函數是物件,因此它們有內建方法可以用來控制執行方式。 這些方法包括 .call()、.apply() 和 .bind(),主要用來改變函數執行時的 this 指向或傳遞參數,特別在物件導向或繼承中很有用。
Thumbnail
在 JavaScript 中,函數是物件,因此它們有內建方法可以用來控制執行方式。 這些方法包括 .call()、.apply() 和 .bind(),主要用來改變函數執行時的 this 指向或傳遞參數,特別在物件導向或繼承中很有用。
Thumbnail
本文介紹了 Dart 中具有參數的函式。具有參數的函式允許靈活地處理不同輸入,增強程式碼的模組化和可重用性。透過範例說明,讀者能夠理解如何定義和使用這些函式,並掌握進階概念以提升程式設計能力。
Thumbnail
本文介紹了 Dart 中具有參數的函式。具有參數的函式允許靈活地處理不同輸入,增強程式碼的模組化和可重用性。透過範例說明,讀者能夠理解如何定義和使用這些函式,並掌握進階概念以提升程式設計能力。
Thumbnail
在這篇文章中,我們介紹了 Dart 中的字串資料類型,包括如何使用單引號和雙引號定義字串、如何建立多行字串,以及如何使用字串插入。字串資料型態在處理文字、顯示訊息或進行字串操作時非常實用,開發者可以根據需求靈活運用這些特性。
Thumbnail
在這篇文章中,我們介紹了 Dart 中的字串資料類型,包括如何使用單引號和雙引號定義字串、如何建立多行字串,以及如何使用字串插入。字串資料型態在處理文字、顯示訊息或進行字串操作時非常實用,開發者可以根據需求靈活運用這些特性。
Thumbnail
本文介紹了在 Dart 語言中使用單行和多行註解的方式及其作用。同時分享了在 Visual Studio Code 和 IntelliJ IDEA 中進行註解的快捷鍵。結論指出養成良好註解習慣對未來程式維護大有裨益,應及時為程式碼添加清晰註解。
Thumbnail
本文介紹了在 Dart 語言中使用單行和多行註解的方式及其作用。同時分享了在 Visual Studio Code 和 IntelliJ IDEA 中進行註解的快捷鍵。結論指出養成良好註解習慣對未來程式維護大有裨益,應及時為程式碼添加清晰註解。
Thumbnail
Kotlin 的函式可以作為參數使用,它們被歸類為一種資料型別,稱為「Function Types」。當 Java 呼叫這種型別的 Kotlin 函式時,會使用 invoke 關鍵字進行呼叫。通過反編譯程式碼,可以得知 Kotlin 中的 Function Types 資訊。
Thumbnail
Kotlin 的函式可以作為參數使用,它們被歸類為一種資料型別,稱為「Function Types」。當 Java 呼叫這種型別的 Kotlin 函式時,會使用 invoke 關鍵字進行呼叫。通過反編譯程式碼,可以得知 Kotlin 中的 Function Types 資訊。
Thumbnail
當你在 Kotlin 程式語言中定義一個有預設參數的函數功能,並給它預設值,@JvmOverloads 可以自動產生多個重載版本的 Java 方法,每個版本都省略了部分參數,讓 Java 代碼可以更簡潔地呼叫這些方法,而不需要填寫所有參數。不會因為沒有預設值,而顯示錯誤。
Thumbnail
當你在 Kotlin 程式語言中定義一個有預設參數的函數功能,並給它預設值,@JvmOverloads 可以自動產生多個重載版本的 Java 方法,每個版本都省略了部分參數,讓 Java 代碼可以更簡潔地呼叫這些方法,而不需要填寫所有參數。不會因為沒有預設值,而顯示錯誤。
Thumbnail
本指南介紹了 Kotlin 中類別的主構造函數和次要構造函數的使用方法,並提供了相應的程式碼範例和初始化順序說明。
Thumbnail
本指南介紹了 Kotlin 中類別的主構造函數和次要構造函數的使用方法,並提供了相應的程式碼範例和初始化順序說明。
Thumbnail
在 Kotlin 中,只有一個參數,可以省略輸入名稱與「->」符號,使用此參數,可以使用 it 替代範例。
Thumbnail
在 Kotlin 中,只有一個參數,可以省略輸入名稱與「->」符號,使用此參數,可以使用 it 替代範例。
Thumbnail
在 Kotlin 程式語言中,使用 fun 關鍵字來定義函數,定義一個有返回值的函數。
Thumbnail
在 Kotlin 程式語言中,使用 fun 關鍵字來定義函數,定義一個有返回值的函數。
Thumbnail
  雖然Dart 語言本身支援跨平台的編譯方式,但在實務開發時還是不免需要使用外部非Dart語言所提供的函式庫進行功能開發且由於C 語言是最為廣泛且通用的程式語言,因此Dart語言也有提供支援與C語言函式庫互通性的方式;本篇主要是以MSVC作為C的編譯器來實作說明如何引用C語言會遇到的作法。
Thumbnail
  雖然Dart 語言本身支援跨平台的編譯方式,但在實務開發時還是不免需要使用外部非Dart語言所提供的函式庫進行功能開發且由於C 語言是最為廣泛且通用的程式語言,因此Dart語言也有提供支援與C語言函式庫互通性的方式;本篇主要是以MSVC作為C的編譯器來實作說明如何引用C語言會遇到的作法。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News