创建一个只接受正整数的函数 Swift
Creating a function which only accepts positive Integer Swift
我正在尝试创建一个 public 函数,它只接受正数 integer.And 我想不出任何方法来做到这一点。即使我要检查值和 return 错误,我该怎么办?
我当前的代码是:
public func encodeQuantity(value: Int) -> String {
// Besides using if-else to check, is there any alternatives?
if value < 0 {
return "Negative values are not supported" << I dont know how we should return an error here to the user when using our function but putting a negative number
} else {
return "\(value+10)"
}
}
Int
支持负数。相反,仅支持不能表示负数的参数。
UnsignedInteger 协议被 5 个标准库类型采用:
UInt
(与UInt64
相同)
UInt32
UInt16
UInt8
public func encodeQuantity<Integer: UnsignedInteger>(value: Integer) -> String {
"\(value + 10)"
}
使用 UInt
的示例:
encodeQuantity(value: 25 as UInt) // "35"
我正在尝试创建一个 public 函数,它只接受正数 integer.And 我想不出任何方法来做到这一点。即使我要检查值和 return 错误,我该怎么办? 我当前的代码是:
public func encodeQuantity(value: Int) -> String {
// Besides using if-else to check, is there any alternatives?
if value < 0 {
return "Negative values are not supported" << I dont know how we should return an error here to the user when using our function but putting a negative number
} else {
return "\(value+10)"
}
}
Int
支持负数。相反,仅支持不能表示负数的参数。
UnsignedInteger 协议被 5 个标准库类型采用:
UInt
(与UInt64
相同)UInt32
UInt16
UInt8
public func encodeQuantity<Integer: UnsignedInteger>(value: Integer) -> String {
"\(value + 10)"
}
使用 UInt
的示例:
encodeQuantity(value: 25 as UInt) // "35"