A วัตถุที่ไม่แน่นอนสามารถเปลี่ยนแปลงได้หลังจากสร้างแล้ว และวัตถุที่ไม่เปลี่ยนรูปไม่สามารถทำได้ ที่กล่าวว่า หากคุณกำลังกำหนดคลาสของคุณเอง คุณสามารถทำให้ออบเจ็กต์ของคลาสไม่เปลี่ยนรูปได้ด้วยการทำให้ฟิลด์ทั้งหมดเป็นแบบสุดท้ายและเป็นส่วนตัว … หรือคุณสามารถแปลงสตริงเป็นอาร์เรย์ของอักขระ ซึ่งจะเปลี่ยนแปลงได้
ประเภทข้อมูลที่เปลี่ยนแปลงและไม่เปลี่ยนรูปแตกต่างกันอย่างไร
หากค่าสามารถเปลี่ยนแปลงได้ ออบเจ็กต์จะถูกเรียกว่าเปลี่ยนแปลงได้ ในขณะที่หากค่าไม่สามารถเปลี่ยนแปลงได้ อ็อบเจกต์จะเรียกว่าไม่เปลี่ยนรูป
ตัวอย่างที่ไม่แน่นอนและไม่เปลี่ยนรูปคืออะไร
พูดง่ายๆ คือ วัตถุที่เปลี่ยนแปลงได้หลังจากสร้างแล้ว และวัตถุที่ไม่เปลี่ยนรูปไม่สามารถทำได้ออบเจ็กต์ประเภทบิวท์อิน เช่น (int, float, bool, str, tuple, unicode) จะไม่เปลี่ยนรูปแบบ อ็อบเจ็กต์ประเภทบิวท์อิน เช่น (รายการ ชุด dict) เปลี่ยนแปลงได้ คลาสที่กำหนดเองโดยทั่วไปจะเปลี่ยนแปลงได้
อะไรคือความแตกต่างระหว่าง mutable และ immutable ใน Swift?
เปลี่ยนแปลงได้หมายความว่าค่าสามารถเปลี่ยนแปลงได้เมื่อตั้งค่าเริ่มต้น (ผ่านการเริ่มต้น) ในขณะที่ เปลี่ยนไม่ได้หมายความว่าค่าไม่สามารถเปลี่ยนแปลงได้.
คุณเข้าใจอะไรจากวัตถุที่ไม่แน่นอนและไม่เปลี่ยนรูป
อ็อบเจ็กต์ที่ค่าสามารถเปลี่ยนแปลงได้เรียกว่าเปลี่ยนแปลงได้ ออบเจ็กต์ที่มีค่าไม่เปลี่ยนแปลงเมื่อสร้างขึ้นจะเรียกว่าไม่เปลี่ยนรูป