# การใช้งาน Parameter ของ Function ในภาษา Dart ด้วยความเข้าใจที่ง่ายดาย
สวัสดีทุกท่านเหล่านักพัฒนาและผู้ที่หลงใหลในโลกของโค้ด! เชื่อได้ว่าหลายๆ คนนั้นมีความฝันอยากจะสร้าง Application ขึ้นมาเอง หรือต้องการที่จะเข้าใจการทำงานของโปรแกรมต่างๆ อย่างลึกซึ้ง และหนึ่งในภาษาโปรแกรมมิ่งที่กำลังเป็นที่นิยมในวงการนี้คือ 'Dart' ที่ใช้ในการพัฒนาแอปพลิเคชันด้วย Flutter วันนี้เราจะมาไขข้อสงสัยเกี่ยวกับการใช้งาน Parameter ของ Function ในภาษา Dart กันค่ะ โดยจะมีตัวอย่างโค้ดมาเสริมเพื่อให้เข้าใจได้ง่ายขึ้น พร้อมด้วยการนำไปใช้ในโลกจริงในหลากหลายสถานการณ์!
---
ก่อนอื่น มาทำความเข้าใจกับความสำคัญของ Parameters หรือ พารามิเตอร์ กันก่อน เราสามารถคิดถึงพารามิเตอร์เสมือนตัวแปรที่อยู่ภายใน function ซึ่งใช้สำหรับรับค่าเข้ามายัง function เมื่อมีการเรียกใช้งาน สิ่งนี้ทำให้ function มีความยืดหยุ่นและสามารถนำมาใช้ในสถานการณ์ที่แตกต่างกันได้หลายแบบ
---
Dart มีหลายวิธีในการกำหนดพารามิเตอร์เมื่อสร้างฟังก์ชัน:
1. Positional parameters (พารามิเตอร์ตามตำแหน่ง): การใช้พารามิเตอร์แบบนี้, ค่าที่ส่งผ่านไปยังฟังก์ชันจะต้องมีลำดับตามที่ระบุไว้ในฟังก์ชันนั้นไว้ 2. Optional positional parameters (พารามิเตอร์ตามตำแหน่งที่เป็นตัวเลือก): เป็นพารามิเตอร์ที่คุณไม่จำเป็นต้องส่งค่าเข้าไป เว้นแต่คุณต้องการ สังเกตได้จากการใช้ `[]` ครอบพารามิเตอร์เหล่านั้น 3. Named parameters (พารามิเตอร์ที่มีชื่อ): เมื่อส่งค่าไปยังฟังก์ชัน เราสามารถระบุชื่อของพารามิเตอร์ได้ เพื่อทำให้การอ่านโค้ดของเรานั้นง่ายขึ้น สังเกตได้จากการใช้ `{}` ครอบพารามิเตอร์เหล่านั้น 4. Default parameters (พารามิเตอร์ที่กำหนดค่าเริ่มต้นไว้): หากว่าเราไม่ได้ส่งค่าพารามิเตอร์เข้าไป เราสามารถมีค่าเริ่มต้นไว้ในฟังก์ชันได้---
ตัวอย่างที่ 1: Positional Parameters
void sayHello(String firstName, String lastName) {
print('สวัสดีคุณ $firstName $lastName!');
}
void main() {
sayHello('สมชาย', 'ใจดี');
// Output: สวัสดีคุณสมชายใจดี!
}
ในตัวอย่างนี้ `sayHello` คือ Function ที่มี Parameters สองตัวตามตำแหน่ง ชื่อ `firstName` และ `lastName`, เมื่อเราเรียกใช้ `sayHello` เราจะต้องส่งค่าทั้งสองตัวตามลำดับที่ฟังก์ชันนั้นกำหนดไว้
---
ตัวอย่างที่ 2: Optional Positional Parameters
void greetNewUser(String name, [String? greeting]) {
if (greeting != null) {
print('$greeting, $name!');
} else {
print('ยินดีต้อนรับ, $name!');
}
}
void main() {
greetNewUser('จอร์จ');
// Output: ยินดีต้อนรับ, จอร์จ!
greetNewUser('จอร์จ', 'ราตรีสวัสดิ์');
// Output: ราตรีสวัสดิ์, จอร์จ!
}
ในตัวอย่างนี้ Parameter `greeting` เป็น optional หมายความว่าเราสามารถไม่ต้องส่งค่าตัวนี้เข้าไปหากไม่ต้องการ เราจะเห็นการใช้ `?` ควบคู่กับชนิดข้อมูลของพารามิเตอร์ที่เป็นตัวเลือก ซึ่งบ่งบอกถึงความเป็น null safety ใน Dart
---
ตัวอย่างที่ 3: Named Parameters with Default Values
void createContact({String name = 'ไม่ระบุ', int? age, String? tel}) {
print('ชื่อผู้ติดต่อ: $name');
if(age != null) {
print('อายุ: $age');
}
if(tel != null) {
print('เบอร์ติดต่อ: $tel');
}
}
void main() {
createContact(tel: '0812345678', name: 'สุริยา');
// Output: ชื่อผู้ติดต่อ: สุริยา
// เบอร์ติดต่อ: 0812345678
}
ในตัวอย่างนี้เรามีการใช้ Named Parameters และมีการกำหนด Default Value ให้กับ `name` เป็น "ไม่ระบุ" เพื่อให้หากไม่มีการระบุชื่อเข้ามาก็สามารถมีค่าเริ่มต้นไว้ และในนี้เราเห็นว่าการกำหนดค่าให้ Parameters นั้นทำได้ง่ายมากเพียงแค่ระบุชื่อ
---
ยกตัวอย่างการใช้งาน Parameters ในภาษา Dart ในโลกจริง เช่น การสร้างแอปพลิเคชันแชท ที่ต้องการฟังก์ชันในการส่งข้อความที่สามารถกำหนดสถานะของข้อความว่าเป็นข้อความปกติ, ข้อความด่วน, หรือข้อความที่ถูกทำเครื่องหมายไว้ ซึ่งที่นี่พารามิเตอร์ที่มีชื่อและค่าเริ่มต้นอาจเป็นองค์ประกอบที่สำคัญในการกำหนดประเภทของข้อความ
---
พารามิเตอร์เป็นส่วนสำคัญที่ช่วยเพิ่มความยืดหยุ่นให้ฟังก์ชันของเราใน Dart ไม่ว่าคุณจะเป็นนักพัฒนามือใหม่หรือมืออาชีพ การทำความเข้าใจกับการใช้งานพารามิเตอร์นั้นเป็นพื้นฐานที่สำคัญมาก ที่ Expert-Programming-Tutor เรามีคอร์สการเรียนรู้ Dart และ Flutter ที่จะช่วยให้คุณเข้าใจหลักการใช้พารามิเตอร์และหลากหลายแนวคิดของการเขียนโปรแกรมได้อย่างครอบคลุม ทำให้คุณพร้อมสำหรับการสร้างสรรค์แอปพลิเคชันฝันของตนเอง!
ลงทะเบียนเรียนกับเราเพื่อปลดล็อกศักยภาพในการพัฒนาโปรแกรมของคุณได้แล้ววันนี้ที่ Expert-Programming-Tutor! แล้วพบกันในห้องเรียนนะคุณโปรแกรมเมอร์! 😉🚀
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
Tag ที่น่าสนใจ: dart function_parameter programming_language positional_parameters optional_parameters named_parameters default_parameters coding_examples real-world_usecase flexible_functions development flutter null_safety programming_concepts
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM