Создание функции, которая принимает только положительный Integer Swift - PullRequest
0 голосов
/ 10 марта 2020

Я пытаюсь создать функцию publi c, которая принимает только положительное целое число. И я не могу придумать какие-либо способы сделать это. Даже если бы я должен был проверить значение и вернуть ошибку, как я должен go о? Мой текущий код:

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)"
    }
}

1 Ответ

3 голосов
/ 10 марта 2020

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"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...