我正在尝试制作一个可计算年收入和401(k)贡献的iOS应用。我无法弄清楚该函数的编码方式,因此尽管员工收入占收入的百分比,但该函数将401(k)贡献限制为18500。我知道这是超级基础,但是我已经在它上工作了几个小时,而且似乎无法使它正常工作。任何帮助表示赞赏。
func your401 () -> int {
if employee401kContribution < 18500 {
return employee401kContribution
}
else do {return = 18500 }
}
答案 0 :(得分:1)
您真的很亲密!您只有几个小问题:
return
之后加上等号。这是一种特殊形式,不使用等号。只需return 18500
(或者您甚至可以将其样式设置为return 18_500
)。do
放在else
之后。只是if { ... } else { ... }
int
,但您要查找的数据类型为Int
。类型和变量名之类的标识符区分大小写。your401
不是描述性名称。您应该命名此函数,以便更清楚地确切传达其功能。如果进行修复,这是您得到的:
func nameMeBetter() -> Int {
if employee401kContribution < 18_500 {
return employee401kContribution
} else {
return 18_500
}
}
更加简单,您可以使用Swift.min(_:_:)
来实现此目的:
func nameMeBetter() -> Int {
return min(employee401kContribution, 18_500)
}
答案 1 :(得分:1)
您可以通过几种方式完成此操作
// Closest to your original code
func your401() -> Int {
if employee401kContribution < 18500 {
return employee401kContribution
} else {
return 18500
}
}
// A shorter version using the conditional ternary operator
// return (condition) ? (value if true) : (value if false)
func your401() -> Int {
return employee401kContribution < 18500 ? employee401kContribution : 18500
}
// Most compact of all. This stays close to the English description
// "the employee's 401k contribution or 18500, whichever is less"
func your401() -> Int {
return min(employee401kContribution, 18500)
}