為什麼資料型別要不是可變的,就是不可變的?
讓我們以 python 為例,
Python中的資料型態基本上是物件或類,int是類,浮點數,列表等
因此,寫入 x=6 會建立一個值為 6 的新 整數物件,並將一個名為 x 的參考指向該物件。
現在我們需要研究類,類別基本上將資料和函數組合在一起,這些函數稱為方法,它們有兩種類型:accessor和mutator方法。
存取器方法存取物件的目前狀態,但不會變更物件本身,例如
x =「你好」
y = x.upper()
這裡對 x 引用的物件呼叫 upper 方法,然後 upper 存取器傳回一個新對象,一個 str 對象,它是原始字串的大寫版本。 (隨意重新閱讀),基本上它返回一個基於原始對象的新對象,現在只是它是大寫的。
另一方面,Mutator 方法會改變現有物件中的值,清單類型(類別)就是一個很好的例子。
newList = [1,2,3]
newList.reverse()
此方法將改變現有對象,突變方法無法撤銷。
缺少這些修改器方法的資料型別被認為是不可變的,因此只包含存取器方法,缺少的資料型別是可變的。
希望這有幫助,保持好奇:)
以上是不可變資料類型的真正意義是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!