为Swift 内建类型Int添加了一个整型下标。该下标[n]返回对应位数上的数字 如: print(12[0])----------2 print(7869[1])----------------6 print(786543[2])----------------------5
时间: 2023-09-23 10:13:34 浏览: 33
同样是Swift语言的问题,您可以像下面这样为Int类型添加一个整型下标来实现您所需的功能:
```swift
extension Int {
subscript(index: Int) -> Int? {
var decimalBase = 1
for _ in 0..<index {
decimalBase *= 10
}
let digit = (self / decimalBase) % 10
return digit
}
}
```
然后,您就可以像这样使用该下标:
```swift
let number = 786543
print(number[2]) // 输出:5
```
这是因为`number[2]`返回的是数字786543的第三位数字,即5。同理,`number[1]`返回的是数字786543的第二位数字,即4。
相关问题
为Swift 内建类型Int添加了一个整型下标。该下标[n]返回对应位数上的数字 如: print(12[1])----------2 print(7869[2])----------------6 print(786543[3])----------------------5
Swift 内建类型 Int 添加了一个整型下标,可以返回对应位数上的数字。例如,下标 [n] 可以返回整数中第 n 位上的数字。这个特性非常方便,可以避免开发者写一些繁琐的数字处理代码。例如:
```swift
let number = 786543
let digit = number
print(digit) // 输出:5
```
在上面的例子中,数字 `786543` 中第 `3` 位上的数字是 `5`,通过整型下标可以很方便地获取到这个数字。
swift向 Int 类型添加了 4 个计算型属性,分别为: self + 100 self - 10 self * 10 self / 5 以及四种结果的加减乘除混合计算
在 Swift 中,我们可以通过扩展(extension)的方式为现有的类型添加新的属性、方法、下标等等。因此,我们可以为 Int 类型添加这些计算型属性。下面是一个示例代码:
```
extension Int {
var plus100: Int {
return self + 100
}
var minus10: Int {
return self - 10
}
var times10: Int {
return self * 10
}
var dividedBy5: Int {
return self / 5
}
func mixedCalculation(with number: Int, operation: String) -> Int {
switch operation {
case "+":
return self + number
case "-":
return self - number
case "*":
return self * number
case "/":
return self / number
default:
return 0
}
}
}
```
在这个扩展中,我们为 Int 类型添加了四个计算型属性,分别为 plus100、minus10、times10 和 dividedBy5,它们分别对应加100、减10、乘10 和除以5 的操作。同时,我们也添加了一个名为 mixedCalculation 的方法,它接受另一个整数和一个操作符,并返回两个数进行加减乘除混合计算的结果。
使用这些新添加的属性和方法非常简单,例如:
```
let number = 50
print(number.plus100) // 输出 150
print(number.minus10) // 输出 40
print(number.times10) // 输出 500
print(number.dividedBy5) // 输出 10
print(number.mixedCalculation(with: 30, operation: "+")) // 输出 80
print(number.mixedCalculation(with: 20, operation: "*")) // 输出 1000
```
通过这种方式,我们可以为现有的类型添加自定义的功能,让它们更加适合我们的需求。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)