สอน Swift ตอนที่ 5.2 ฟังก์ชั่นพารามิเตอร์แบบต่างๆ (Function Parameters)

สอน Swift ตอนที่ 5.2 ฟังก์ชั่นพารามิเตอร์แบบต่างๆ (Function Parameters)

มาดูการประกาศตัวแปร หรือ พารามิเตอร์ของฟังก์ชั่นกันครับ ว่าสามารถประกาศได้กี่แบบ แต่ละแบบมีประโยชน์อย่างไร ?

May 15, 2017

แก้ไขล่าสุด มีผู้อ่าน 879  |  PROGRAMMING SWIFT

จากตอนที่แล้วเราได้ทำความรู้จัก ฟังก์ชั่นกันไปแล้ว ฟังก์ชั่นช่วยจัดระเบียบการเขียนโค้ดและลดโค้ดที่ซ้ำๆ กันได้ ในตอนนี้มาดูการประกาศตัวแปร หรือ พารามิเตอร์ของฟังก์ชั่นกันครับ ว่าสามารถประกาศได้กี่แบบ แต่ละแบบมีประโยชน์อย่างไร ?

 

รู้จักคำว่า Argument Labels และ Parameter Names 

Argument Labels คือชื่อของตัวแปร ที่ถูกใช้เมื่อเรียกฟังก์ชั่น จากตัวอย่างคือ p1, p2

someFunction2(p1: 2, p2: 3) // Argument Labels

 

Paremeter Names คือชื่อของตัวแปร ที่ถูกประกาศเมื่อสร้างฟังก์ชั่น จากตัวอย่างคือ p1, p2

func someFunction2(p1: Int, p2: Int) { // Parameter Names

}

 

ปกติถ้าเราไม่กำหนดอะไรพิเศษ Argument Labels และ Parameter Names จะใช้ชื่อเดียวกัน 

func someFunction2(p1: Int, p2: Int) {

}
someFunction2(p1: 2, p2: 3) 

 

ถ้าต้องการกำหนดชื่อให้ Argument เป็นพิเศษ (Specifying Argument Labels)

สามารถทำได้โดยใส่ชื่อ Argument ไว้ก่อน Parameter Name ดังตัวอย่าง ทำให้เวลาเราเรียกใช้ฟังก์ชั่น ชื่อตัวแปรจะเปลี่ยนไปตามที่เรากำหนดไว้

func greet3(person: String, from hometown: String) -> String {
    return "Hello \(person)! Glad you could visit from \(hometown)."
}

print(greet3(person: "Bill", from: "Cupertino"))

 

สามารถละทิ้งไม่ใส่ชื่อ Argument ได้ (Omitting Argument Labels)


โดยการใส่เครื่องหมาย _ นำหน้า Parameter Name ดังตัวอย่าง ทำให้เวลาเรียกฟังก์ชั่น เราไม่ต้องใส่ชื่อ Argument

func someFunction1(_ p1:Int, p2: Int) {

}

someFunction1(1, p2: 2)

 

การกำหนดค่าเริ่มต้นให้กับพารามิเตอร์ (Default Parameter Values)

ใช้เมื่อต้องการให้ฟังก์ชั่น สามารถเรียกโดยไม่ส่งค่าเข้ามาก็ได้ เมื่อไม่ส่งเข้ามาจะทำการใส่ค่าที่กำหนดไว้ ดังตัวอย่าง p2 ถ้าตอนเรียกไม่ใส่ส่งค่าเข้ามา p2 จะมีค่าเป็น 12 

func someFunction(p1: Int, p2: Int = 12) {

}

someFunction(p1: 3, p2: 6)
someFunction(p1: 4)

 

การประกาศแบบ Variadic (Variadic Parameters)

Variadic Parameters สามารถทำให้ฟังก์ชั่นสามารถส่งค่าเข้ามาได้หลายๆ ค่า ต่อหนึ่งชนิดตัวแปร เมื่อประกาศเป็น Variadic Parameters เราให้เครื่องหมาย ... ตามหลัง ชนิดของตัวแปร ดังตัวอย่าง

func arithmeticMean(_ numbers: Double...) -> Double {
    var total: Double = 0
    for number in numbers {
        total += number
    }
    return total / Double(numbers.count)
}

arithmeticMean(1,2,3,4,5,6)
arithmeticMean(3, 3.85)

แบ่งปัน

ชอบ +1

บันทึก

ฝากคำถาม คำแนะนำ ได้ที่

Facebook : Share.OlanLab.Com
LINE ID : @olanlab
อีเมล์ : olan@olanlab.com

หลักสูตร

สอน Swift สร้างแอพพลิเคชั่นบน IOS, macOS, tvOs, watchOs

Swift ภาษาเขียนแอพพลิเคชั่นที่ใช้งานง่าย แต่ทรงพลังออกแบบสร้างสรรค์โดย Apple เพื่อใช้สร้างแอพพลิเคชั่นสำหรับ IOS, Mac, Apple TV และ Apple Watch
Share คลังความรู้ด้านเทคโนโลยี สารสนเทศ นวัตกรรมคอมพิวเตอร์ สอนเขียนโปรแกรม Php Java Html CSS Javascript C C++ Objective-C และอื่นๆ บนระบบปฏิบัติการ Window Linux Unix CentOS IOS Android
โดยผู้เขียนที่มีความเชี่ยวชาญเฉพาะ ให้บริการพื้นที่สำหรับนักเขียนที่ต้องการแบ่งปันความรู้ พร้อมให้คำปรึกษาแก่ผู้ที่สนใจ โดยไม่เสียค่าใช้จ่าย