我很快乐.我偶然遇到了这个问题.
let individualscores = [75,43,103,87,12] var teamscore = 0 for score in individualscores { if score > 50 { teamscore += 3 } else { teamscore += 1 } } print(teamscore)
可以看出,score是上面代码部分中的变量.但它在使用之前显然没有声明.我的意思是,没有这样的语法:
var score: Int
要么
var score = 0
我只想知道为什么或如何做到这一点,使用变量而不使用var语法声明其类型.
由于C中的语法(Swift在某种程度上与C类似),如果未声明变量,则应该“无法识别”.
提前致谢.
解决方法
分数由for循环分配.它的类型推断为individualscores的任何元素.由于individualscores是Int或[Int]的数组,因此得分必须是Int.因此,在这种情况下,您无需正式声明其类型.
闭包有类似的行为,你可以在不使用let或var正式声明变量的情况下命名变量.例如:
let individualscores = [75,12] var teamscore = 0 individualscores.forEach { score in if score > 50 { teamscore += 3 } else { teamscore += 1 } } print(teamscore)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。