Быстрое возвращение значений различных типов в функции в зависимости от условий - PullRequest
1 голос
/ 29 февраля 2020

Я новичок в Swift и у меня небольшой вопрос.

Я хочу создать функцию, которая может возвращать значения различных типов в зависимости от условий. Какой тип возврата я должен использовать ?? Ниже приведена функция. Я использую "??" в качестве заполнителя. Кто-нибудь может помочь изменить "??" с правильным типом возврата ?? Спасибо !!

fun Req_amt() -> ?? {
    if let input_amt = readLine() {
        if let amount = Float(input_amt) {
            return amount
        } else {
            return "Bad number."
        }
    } else {
        return "Bad input."
    }
}

1 Ответ

2 голосов
/ 29 февраля 2020

Вы можете вернуть Float? с nil, чтобы обозначить ошибку в целом, или вы можете вернуть Float, но с throws и сгенерировать Error, чтобы дать дополнительную конкретную c информацию, такую ​​как «Bad number» или «Плохой ввод». Похоже, последнее - это то, что вы хотите здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...