เรียนเขียน iOS App ด้วยภาษา Swift — ตอนที่ 7 : Functions (ฟังก์ชัน)

ODENZA
3 min readDec 19, 2020

--

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 function example. "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

--

--

ODENZA
ODENZA

No responses yet