ค่าเริ่มต้นในพารามิเตอร์ฟังก์ชัน
กำหนดค่าเริ่มต้นให้พารามิเตอร์เพื่อให้จุดเรียกใช้งานง่ายขึ้น
ค่าเริ่มต้นในพารามิเตอร์ฟังก์ชัน เป็นบทเรียน Swift Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Swift Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน
พารามิเตอร์ค่าเริ่มต้นคืออะไร
พารามิเตอร์ของฟังก์ชันสามารถมีค่าเริ่มต้นได้ ผู้เรียกใช้สามารถละอาร์กิวเมนต์นั้นไว้ แล้ว Swift จะเติมค่าเริ่มต้นให้โดยอัตโนมัติ
func greet(name: String = "Guest") {
print("Hello, \(name)")
}
greet()
greet(name: "Ada")การประกาศค่าเริ่มต้น
กำหนดค่าเริ่มต้นหลังชนิดข้อมูลของพารามิเตอร์โดยใช้ = ค่าเริ่มต้นจะถูกใช้เฉพาะเมื่อผู้เรียกใช้ไม่ส่งอาร์กิวเมนต์นั้นมา
func power(base: Int, exponent: Int = 2) -> Int {
var result = 1
for _ in 0..<exponent { result *= base }
return result
}
print(power(base: 5))
print(power(base: 5, exponent: 3))ค่าเริ่มต้นหลายค่า
คุณสามารถกำหนดค่าเริ่มต้นให้พารามิเตอร์หลายตัวได้ ผู้เรียกใช้จะแทนที่เฉพาะตัวที่ต้องการเปลี่ยน
func makeBox(width: Int = 1, height: Int = 1) -> Int {
return width * height
}
print(makeBox())
print(makeBox(width: 4))การผสมพารามิเตอร์ที่จำเป็นกับค่าเริ่มต้น
พารามิเตอร์ที่จำเป็นจะไม่มีค่าเริ่มต้น ส่วนพารามิเตอร์ที่มีค่าเริ่มต้นจะมีค่าอยู่แล้ว ควรวางพารามิเตอร์ที่จำเป็นไว้ก่อน เพื่อให้ผู้เรียกใช้ละค่าเริ่มต้นท้ายรายการได้อย่างสะดวก
func send(message: String, urgent: Bool = false) {
print("\(urgent ? "URGENT: " : "")\(message)")
}
send(message: "Hi")
send(message: "Fire!", urgent: true)ค่าเริ่มต้นช่วยลดฟังก์ชันหลายรูปแบบ
ก่อนมีพารามิเตอร์ค่าเริ่มต้น คุณอาจต้องเขียนฟังก์ชันที่มีรูปแบบต่างกันหลายฟังก์ชัน ฟังก์ชันเดียวที่มีค่าเริ่มต้นสามารถแทนที่ฟังก์ชันเหล่านั้นได้ทั้งหมด
func connect(host: String, port: Int = 80) {
print("\(host):\(port)")
}
connect(host: "example.com")
connect(host: "example.com", port: 8080)แทนที่ค่าเริ่มต้นบางส่วนได้
คุณสามารถแทนที่ค่าเริ่มต้นเพียงตัวเดียวและคงค่าอื่นไว้ได้ ตราบใดที่ใช้ป้ายกำกับอาร์กิวเมนต์เพื่อระบุให้ชัดเจน
func style(size: Int = 12, bold: Bool = false, italic: Bool = false) {
print("\(size) bold:\(bold) italic:\(italic)")
}
style(bold: true)ค่าเริ่มต้นสามารถเป็นนิพจน์ได้
ค่าเริ่มต้นสามารถเป็นนิพจน์ใดก็ได้ที่มีชนิดถูกต้อง และจะถูกประเมินเมื่อไม่มีการส่งอาร์กิวเมนต์มา
func now(stamp: Int = 1000 + 1) {
print(stamp)
}
now()
now(stamp: 5)ค่าเริ่มต้นของค่าออปชัน
รูปแบบที่ใช้บ่อยคือพารามิเตอร์ออปชันที่มีค่าเริ่มต้นเป็น nil ทำให้ผู้เรียกใช้สามารถละพารามิเตอร์นั้นไปได้ทั้งหมด
func log(_ text: String, tag: String? = nil) {
print("[\(tag ?? "general")] \(text)")
}
log("Started")
log("Saved", tag: "db")การใช้ร่วมกับการรวมค่าเมื่อไม่มีข้อมูล
พารามิเตอร์ค่าเริ่มต้นและ ?? ทำงานร่วมกันได้ดี โดยรับค่าออปชันไว้ก่อน แล้วรวมค่าภายในส่วนเนื้อหาของฟังก์ชัน
func price(amount: Int? = nil) -> Int {
return amount ?? 10
}
print(price())
print(price(amount: 25))ค่าเริ่มต้นในตัวเริ่มต้น
ฟีเจอร์เดียวกันนี้ใช้กับตัวเริ่มต้นของโครงสร้างได้ ทำให้คุณสร้างออบเจ็กต์ที่มีค่าเริ่มต้นเหมาะสมได้
struct Settings {
var volume: Int
init(volume: Int = 50) {
self.volume = volume
}
}
print(Settings().volume)
print(Settings(volume: 80).volume)ประโยชน์ด้านการอ่านเข้าใจ
พารามิเตอร์ค่าเริ่มต้นทำให้จุดเรียกใช้สั้นลงและสื่อถึงกรณีทั่วไป ขณะเดียวกันก็ยังให้ควบคุมรายละเอียดได้อย่างเต็มที่เมื่อจำเป็น
func repeatText(_ text: String, times: Int = 1) {
for _ in 0..<times { print(text) }
}
repeatText("Hi")
repeatText("Yo", times: 2)ตรวจสอบอย่างรวดเร็ว
ทดลองใช้พารามิเตอร์ค่าเริ่มต้น
สรุป: ค่าเริ่มต้นในพารามิเตอร์ฟังก์ชัน
ค่าพารามิเตอร์เริ่มต้นช่วยให้ผู้เรียกใช้ละอาร์กิวเมนต์ได้ ประกาศค่าเหล่านี้ด้วย = หลังชนิดข้อมูล ผสมกับพารามิเตอร์ที่จำเป็น และใช้ร่วมกับ ?? หรือค่าออปชันเพื่อสร้างส่วนติดต่อการเขียนโปรแกรมที่ยืดหยุ่น
func tax(amount: Int, rate: Int = 10) -> Int {
return amount + amount * rate / 100
}
print(tax(amount: 100))คำถามที่พบบ่อย
บทเรียน “ค่าเริ่มต้นในพารามิเตอร์ฟังก์ชัน” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ค่าเริ่มต้นในพารามิเตอร์ฟังก์ชัน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Swift Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ค่าเริ่มต้นในพารามิเตอร์ฟังก์ชัน”
กำหนดค่าเริ่มต้นให้พารามิเตอร์เพื่อให้จุดเรียกใช้งานง่ายขึ้น คุณปฏิบัติ Swift Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Swift Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Swift Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “ค่าเริ่มต้นในพารามิเตอร์ฟังก์ชัน” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Swift Academy นี้ได้ไหม
ได้ บทเรียน Swift Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ตัวดำเนินการรวมค่าเมื่อเป็น nil
- การเชื่อมโยงค่าเริ่มต้น
- ค่าเริ่มต้นในพารามิเตอร์ฟังก์ชัน
- ซับสคริปต์ค่าเริ่มต้นของพจนานุกรม