0Pricing
Swift Academy · บทเรียน

ป้ายกำกับอาร์กิวเมนต์และชื่อพารามิเตอร์

ชื่อพารามิเตอร์ภายนอกกับภายใน และวิธีที่การเรียกใช้ของ Swift อ่านคล้ายภาษาอังกฤษ

ป้ายกำกับอาร์กิวเมนต์และชื่อพารามิเตอร์ เป็นบทเรียน Swift Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Swift Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน

ยินดีต้อนรับ

ฟังก์ชันของ Swift มีชื่อสองชื่อสำหรับพารามิเตอร์แต่ละตัว ได้แก่ ป้ายกำกับอาร์กิวเมนต์ *ภายนอก* ที่ใช้ ณ จุดเรียกใช้ และชื่อพารามิเตอร์ *ภายใน* ที่ใช้ภายในตัวฟังก์ชัน

ชื่อภายนอกเทียบกับชื่อภายใน

```swift func greet(person name: String) { print("Hello, \(name)!") } greet(person: "Alice") // call site uses 'person' // body uses 'name' ``` ป้ายกำกับภายนอกช่วยให้อ่านเข้าใจได้ง่ายขึ้น ณ จุดเรียกใช้

การละป้ายกำกับภายนอกด้วย _

ใช้ `_` เพื่อไม่ให้แสดงป้ายกำกับอาร์กิวเมนต์: ```swift func square(_ n: Int) -> Int { n * n } print(square(5)) // 25 — no label needed ``` มักใช้กับฟังก์ชันคณิตศาสตร์และฟังก์ชันอรรถประโยชน์ที่ป้ายกำกับจะซ้ำซ้อน

การเลือกป้ายกำกับให้สอดคล้องกับภาษาอังกฤษ

ป้ายกำกับที่เลือกมาอย่างดีทำให้จุดเรียกใช้อ่านเหมือนประโยค: ```swift func move(from source: String, to destination: String) {} move(from: "Home", to: "Work") ``` นี่เป็นหลักการสำคัญในการออกแบบ API ของ Swift

ชื่อภายนอกและชื่อภายในเหมือนกัน

เมื่อระบุชื่อเพียงชื่อเดียว ชื่อนั้นจะทำหน้าที่เป็นทั้งสองแบบ: ```swift func add(a: Int, b: Int) -> Int { a + b } add(a: 3, b: 4) // label == parameter name ``` เป็นรูปแบบที่ใช้กันทั่วไปสำหรับฟังก์ชันง่าย ๆ

พารามิเตอร์หลายตัว

```swift func divide(_ numerator: Double, by denominator: Double) -> Double { numerator / denominator } let result = divide(10.0, by: 2.0) // 5.0 ``` พารามิเตอร์ตัวแรกมักไม่มีป้ายกำกับ ส่วนพารามิเตอร์ถัดไปจะมีป้ายกำกับที่สื่อความหมาย

ป้ายกำกับพารามิเตอร์ใน API

API ของ Apple เองก็แสดงรูปแบบนี้: ```swift array.insert(42, at: 0) string.replacingOccurrences(of: "a", with: "b") URLSession.shared.dataTask(with: request) ``` ลองอ่านจุดเรียกใช้แต่ละจุดออกเสียง — ควรฟังดูเป็นธรรมชาติ

การโอเวอร์โหลดด้วยป้ายกำกับต่างกัน

ฟังก์ชันที่มีชื่อเดียวกันแต่ใช้ป้ายกำกับต่างกันถือเป็นฟังก์ชันคนละตัว: ```swift func load(url: String) {} func load(file: String) {} load(url: "https://example.com") load(file: "/tmp/data.json") ``` ป้ายกำกับช่วยแยกโอเวอร์โหลดโดยไม่ต้องเปลี่ยนชื่อหลัก

การเรียกฟังก์ชันซ้อนกันและป้ายกำกับ

ป้ายกำกับยังใช้ได้เมื่อมีการเรียกซ้อนกัน: ```swift func stringify(_ n: Int) -> String { "\(n)" } func print(line value: String) { print(value) } print(line: stringify(42)) // "42" ```

แนวปฏิบัติที่ดี

แนวทาง: • ละป้ายกำกับตัวแรกเมื่อชื่อฟังก์ชันสื่อความหมายอยู่แล้ว: `makeURL(string:)` → `makeURL("…")` • ใช้คำบุพบทตามหลักไวยากรณ์เป็นป้ายกำกับภายนอก: `at`, `with`, `from`, `to` • หลีกเลี่ยงป้ายกำกับที่ซ้ำกับข้อมูลชนิด: `func add(intValue v: Int)` ซ้ำซ้อน

ตรวจสอบอย่างรวดเร็ว

สัญลักษณ์ใดใช้ระงับป้ายกำกับอาร์กิวเมนต์ภายนอก ณ จุดเรียกใช้

สรุปทบทวน

ประเด็นสำคัญ: • `func f(external internal: Type)` — มีสองชื่อ โดยใช้ชื่อภายนอก ณ จุดเรียกใช้ • `_` ใช้ระงับป้ายกำกับภายนอก • ป้ายกำกับที่ตั้งชื่อดีทำให้จุดเรียกใช้อ่านเหมือนประโยคภาษาอังกฤษ • ใช้ป้ายกำกับและชื่อเดียวกันเมื่อระบุชื่อเพียงชื่อเดียว ถัดไป: พารามิเตอร์ค่าเริ่มต้นและพารามิเตอร์แบบแปรผันจำนวน

คำถามที่พบบ่อย

บทเรียน “ป้ายกำกับอาร์กิวเมนต์และชื่อพารามิเตอร์” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ป้ายกำกับอาร์กิวเมนต์และชื่อพารามิเตอร์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Swift Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ป้ายกำกับอาร์กิวเมนต์และชื่อพารามิเตอร์”

ชื่อพารามิเตอร์ภายนอกกับภายใน และวิธีที่การเรียกใช้ของ Swift อ่านคล้ายภาษาอังกฤษ คุณปฏิบัติ Swift Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Swift Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Swift Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “ป้ายกำกับอาร์กิวเมนต์และชื่อพารามิเตอร์” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Swift Academy นี้ได้ไหม

ได้ บทเรียน Swift Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ป้ายกำกับอาร์กิวเมนต์และชื่อพารามิเตอร์
  2. พารามิเตอร์ค่าเริ่มต้นและพารามิเตอร์จำนวนไม่แน่นอน
  3. พารามิเตอร์ In-Out และการคืนค่าหลายค่า
  4. ฟังก์ชันในฐานะค่าแบบชั้นหนึ่ง
← กลับไปที่ Swift Academy