เรียนเขียน iOS App ด้วยภาษา Swift — ตอนที่ 7 : Functions (ฟังก์ชัน)
Functions เป็นกลุ่มของคำสั่ง สามารถรวมคำสั่งไว้ในกลุ่มแล้วทำการเรียกใช้งาน (calling functions) เพื่อให้ทำงานบางอย่าง
การประกาศ function(ฟังก์ชัน) ในภาษา swift
- Keyword: การประกาศเริ่มต้น function โดยใช้
func
- Function name : ตั้งชื่อ function แล้วตามด้วย ( )
- ใน ( ) อาจมี argument label or parameter name ด้วย เพื่อส่งและรับค่าไปทำงานใน function
- Argument label (external) : ใช้เมื่อเรามีการ calling function เป็นตัวบ่งบอกชื่อว่าเราส่งค่าอะไรเข้าไปใน function นั้นๆ
- Parameter name (Local) : ถูกนำไปใช้ภายใน function เท่านั้น
- Parameter type : คือ data type ที่จะส่ง parameter เข้ามาใน function - -> Return type : คือ data type ที่จะส่ง return value ออกไป เมื่อมีการเรียกใช้ function (calling)
- Parameter : คือค่าของ parameter name และนำมาใช้ใน function นั้น
- Return value (return ตามด้วยค่าที่จะส่งออกไป) : เป็นการส่งค่าออกไปจาก function (หาก function นั้น มีการ return โดย data type ที่จะส่งออกไปต้องตรงกับ return type
func function_name(param) -> return_type {
//statement return value
}
Calling a function (การเรียกใช้งานฟังก์ชัน)
เมื่อเราสร้าง function ขึ้นมาแล้ว และเมื่อรันโปรแกรม คำสั่งนั้นจะยังไม่ทำงาน เพราะเรายังไม่เรียกมาใช้งานนั่นเอง จะเรียกใช้ function นั้นให้ทำงาน ดังนี้
- Function call : การเรียกชื่อ function โดยชื่อ
-function_name( )
: หากไม่มีการ return ค่า แต่หากมีการ return ค่า ก็ต้องมีตัวแปรมารองรับ เช่นlet newName = function_name( )
- ถ้ามี parameter ก็ใส่เข้าไปใน ( )
argument & parameter แตกต่างกันยังไง?
จริงๆแล้ว 2 ตัวนี้มีค่าเดียวกันเวลาเรียกใช้งาน
argument (บางครั้งเรียก actual parameter) เป็นค่าที่ส่งเข้าไปใน function ตอนที่ calling functionexample. "ODENZA"
parameter (บางครั้งเรียก formal parameter) เป็นค่าที่รับเข้ามาใน function และนำค่านั้นไปทำอะไรบางอย่าง
รูปแบบของ Functions หลักๆ มีดังนี้
- Function with no parameter & no return type
- Function with parameter but no return type
- Function with no parameter but return type
- Function with parameter & return type
1. Function ที่ ไม่มี parameter และ turn type (no parameter & no return type)
รูปแบบการประกาศ function ที่ไม่มี parameter และ turn type ดังนี้
func function_name() {
//statements
}ORfunc function_name() -> () {
//statements
}ORfunc function_name() -> Void {
//statements
}
ตัวอย่างการประกาศ function ที่ไม่มี parameter และ turn type ดังนี้
func greeting() {
print("Hello world")
}//Calling function
greeting()/* ----- result ----- */
Hello world
2. Function ที่มี parameter แต่ไม่มี turn type (with parameter but no return type)
ตัวอย่างการประกาศ function ดังนี้ :
func greetingUser(name: String) {
print("Hello, \(name)!")
}//Calling function
greetingUser(name: "Jack")/* ----- result ----- */
Hello, Jack!
จะเห็นได้ว่าตอนที่เรียกใช้ function (Calling function) นั้น เราต้องใส่ parameter ที่เป็น String ตามที่เราประกาศเอาไว้
3. Function ที่มีทั้ง parameter และ turn type (parameter &return type)
Function นั้น อาจจะไม่มีค่า parameters แต่สามารถมีค่า return type ได้
func pi() -> Float {
return 3.14159
}//Calling function
let p = pi()
print(p)/* ----- result ----- */
3.14159
4. Function ที่ไม่มี parameter แต่มี turn type (no parameter but return type)
func greetUser(name: String) -> String {
return "Good Morning! " + name
}//Calling function
let msg = greetUser(name: "Jack")
print(msg)/* ----- result ----- */
Good Morning! Jack
เรียนเขียน iOS App ด้วยภาษา Swift แบบพื้นฐาน เรียนด้วยตัวเอง
ตอนที่ 1 : การประกาศตัวแปร (variable & constant)
https://bit.ly/3nFVBCc
ตอนที่ 2 : ชนิดของตัวแปร (Data Types)
https://bit.ly/3h2N4Xb
ตอนที่ 3 : Collection Types (Arrays, Dictionaries and Sets)
https://bit.ly/3pkJfzR
ตอนที่ 4: Operators ( การใช้เครื่องหมายทางคณิตศาสตร์)
https://bit.ly/2WrTcyW
ตอนที่ 5 : การทำงานแบบมีเงื่อนไข (Conditional statements)
https://bit.ly/3pe8lQR
ตอนที่ 6 : การวนซ้ำ Loops (for-in, while)
https://bit.ly/3h1aNae
ตอนที่ 7 : Functions (ฟังก์ชัน)
https://bit.ly/3rbAc5O