创建一个只接受正整数的函数 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"