Functions
ฟังก์ชัน (Function) คือ บล็อกของชุดคำสั่งสำหรับการทำงานเฉพาะอย่าง โดยแต่ละฟังก์ชันจะถูกกำกับด้วยชื่อเรียก ซึ่งใช้ในการอ้างอิง
การสร้างฟังก์ชัน
โดยทั่วไป ฟังก์ชันจะประกอบด้วย ชื่อเรียก(name), ค่าสำหรับการทำงาน (parameters) และค่าที่ส่งกลับ (return) ซึ่งการนิยาม (defining) การทำงานของฟังก์ชันสามารถทำได้ ดังนี้
ตัวอย่างการสร้างฟังก์ชันอย่างง่ายเพื่อการหาผลรวมของตัวเลข 2 ตัว และการเรียกใช้งาน
addNumber
คือ ชื่อฟังก์ชัน (functionName) ซึ่งใช้กำกับเพื่อการเรียนใช้งานฟังก์ชันfirstNumber: Int
และsecondNumber: Int
คือ พารามิเตอร์ (parameters) ซึ่งประกอบไปด้วยชื่อและประเภทของพารามิเตอร์ที่จะรับเข้ามาเพื่อใช้ในการทำงานตามคำสั่งภายในฟังก์ชัน-> Int
คือ ประเภทของค่าที่จะส่งกลับหลังจากการทำงานตามคำสั่งเสร็จสิ้น โดยจะต้องสอดคล้องกับที่ระบุไว้ที่ returnaddNumber(firstNumber: 3 , secondNumber: 15)
คือ การเรียกใช้ฟังก์ชัน (call) พร้อมกับส่งอาร์กิวเมนต์ (Argument) จำนวน 2 ค่า คือ 3 และ 5 ไปเพื่อเป็นพารามิเตอร์สำหรับใช้ในการประมวลผลของฟังก์ชัน และรับผลลัพธ์ที่ได้มาเก็บไว้ในตัวแปร ชื่อ totResult * อาร์กิวเมนต์ คือ ข้อมูลที่ส่งให้กับพารามิเตอร์ของฟังก์ชัน
ฟังก์ชันที่ไม่มีพารามิเตอร์และไม่มีการรีเทิร์นค่า
ฟังก์ชันที่มีพารามิเตอร์แต่ไม่มีการรีเทิร์นค่า
ฟังก์ชันที่มีพารามิเตอร์มากกว่า 2 ตัว แต่ไม่มีการรีเทิร์นค่า
ฟังก์ชันที่มีการรีเทิร์นค่า
การใช้พารามิเตอร์แบบ External และ Local name
หากเราต้องการเรียกใช้ฟังก์ชัน โดยละเว้นการระบุชื่ออาร์กิวเมนต์ (Omiting label) สามารถทำได้ โดยใช้เครื่องหมาย _
ระบุไว้แทนชื่อพารามิเตอร์ของฟังก์ชัน
การกำหนดค่าเริ่มต้นให้กับพารามิเตอร์
เราสามารถกำหนดค่าเริ่มต้น (default value) ให้กับพารามิเตอร์ได้ ซึ่งหากเราไม่มีการผ่านค่าไปยังฟังก์ชัน ฟังก์ชันก็จะใช้ค่าดังกล่าวแทนทันที
การกำหนดพารามิเตอร์แบบ Optional
หากมีพารามิเตอร์บางตัวที่ไม่ได้ถูกใช้ในการทำงานทุกครั้ง เราอาจกำหนดให้สามารถผ่านค่า nil มายังพารามิเตอร์ดังกล่าวได้ กล่าวคือ เราสามารถกำหนดให้พารามิเตอร์ดังกล่าวเป็นแบบ Optional โดยใช้เครื่องหมาย ? กำกับไว้หลังชนิดของข้อมูลที่จะรับเข้ามายังฟังก์ชัน
Function Type
ในภาษา Swift เราสามารถนำฟังก์ชั่นมาใช้เป็นชนิดข้อมูลได้ โดยเราสามารถเขียนตัวแปรที่มีชนิดเป็นฟังก์ชัน (หรือเรียกว่า function type) ได้ในรูปแบบ ดังนี้
(1) การใช้ Function Type ในรูปแบบตัวแปร
(2) การใช้ Function Type ในแบบพารามิเตอร์
แหล่งข้อมูลอ้างอิง
Last updated
Was this helpful?