var firstValue: Int
let length: Int
}
var rangeOfThreeItems = FixedLengthRange(firstValue: 0, length: 3)
// 該區間表示整數0,1,2
rangeOfThreeItems.firstValue = 6
// 該區間現在表示整數6,7,8
print(rangeOfThreeItems)
執行結果:
FixedLengthRange(firstValue: 6, length: 3)
struct FixedLengthRange { var firstValue: Int let length: Int } let rangeOfFourItems = FixedLengthRange(firstValue: 0, length: 4) // 該區間表示整數0,1,2,3 rangeOfFourItems.firstValue = 6 // 儘管 firstValue 是個變數屬性,這裡還是會報錯 print(rangeOfThreeItems)
執行結果:
error
把struct改成class,認為class的let也可以跟著變,但執行結果更差。
class FixedLengthRange { var firstValue: Int let length: Int } let rangeOfFourItems = FixedLengthRange(firstValue: 0, length: 4) // 該區間表示整數0,1,2,3 rangeOfFourItems.firstValue = 6 // 儘管 firstValue 是個變數屬性,這裡還是會報錯 print(rangeOfThreeItems)
執行結果:
error
沒有留言:
張貼留言