Swift:
การพิมพ์ผลลัพธ์การแก้ไขโค้ด
วิธีการ:
ใน Swift, คุณมีเพื่อนอยู่ในฟังก์ชัน print() ซึ่งใช้งานง่าย, มันช่วยให้คุณเห็นสิ่งที่กำลังเกิดขึ้นในโค้ดของคุณ
var greeting = "Hello, playground"
print(greeting)
// ผลลัพธ์: Hello, playground
let numbers = [1, 2, 3, 4, 5]
for number in numbers {
print(number)
}
// ผลลัพธ์:
// 1
// 2
// 3
// 4
// 5แต่รอซักครู่, ยังมีอีก! ต้องการข้อมูลดีบักโดยละเอียดหรือไม่? debugPrint() คอยให้บริการ:
debugPrint(greeting)
// ผลลัพธ์: "Hello, playground"สังเกตเห็นเครื่องหมายอัญประกาศนั้นหรือไม่? debugPrint() เปิดเผยข้อมูลพิเศษเกี่ยวกับประเภทข้อมูลและโครงสร้าง
การศึกษาลึก
ในยุคของ Objective-C, เราใช้ NSLog เพื่อบันทึกสิ่งต่างๆ ออกมา Swift ทำให้สิ่งต่างๆ เรียบง่าย—print() เป็นขนมปังของคุณสำหรับผลลัพธ์มาตรฐาน, ในขณะที่ debugPrint() เป็นเนยรสชาติสำหรับมุมมองโดยละเอียด
ข้อเท็จจริงที่น่าสนใจ: ผลลัพธ์มาตรฐานใน Swift ไม่ได้เป็นเพียงแค่ข้อความ—มันสามารถเป็นประเภทใดๆ ที่สอดคล้องกับ CustomStringConvertible หรือ CustomDebugStringConvertible โปรโตคอลเหล่านี้ช่วยให้คุณปรับแต่งการดูของวัตถุของคุณเมื่อพวกเขาบอกเรื่องราวผ่านการพิมพ์
ภายใต้ฝาเครื่อง, print() และ debugPrint() ใช้ String(describing:) และ String(reflecting:) เพื่อเปลี่ยนวัตถุของคุณเป็นสตริง โดยพื้นฐานแล้ว, ฟังก์ชั่นเหล่านี้ใช้กระจกเพื่อถ่ายเซลฟี่ข้อมูลของคุณ
มีทางเลือกอื่นหรือไม่? คุณมี os_log และ NSLog, แต่เหล่านี้เหมาะสมกว่าสำหรับการบันทึกในระดับการผลิต, ไม่ใช่การดีบักแบบรวดเร็วและสกปรกที่เรากำลังพูดถึงที่นี่
ดูเพิ่มเติม
- อ้างอิง API Swift ของ Apple สำหรับฟังก์ชันพิมพ์: ไลบรารีมาตรฐาน Swift: print(_:separator:terminator:)
- การศึกษาลึกเพิ่มเติมเกี่ยวกับการบันทึกใน Swift, การพิจารณา GDPR และความเป็นส่วนตัว: Unified Logging and Activity Tracing
- การแทรกสตริงและความสามารถในการปรับแต่งสำหรับคำอธิบายการดีบักใน Swift: CustomStringConvertible และ CustomDebugStringConvertible