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
沒有留言:
張貼留言