Swift中for循环内的加减法
我对斯威夫特很陌生,我正试图弄清楚如何在for循环中计数。例如,为什么像这样的东西不起作用?我想让它打印新时代+1 12次 因此,最终它将是: 我现在36岁了 我现在37岁了 等等Swift中for循环内的加减法,swift,loops,for-loop,count,Swift,Loops,For Loop,Count,我对斯威夫特很陌生,我正试图弄清楚如何在for循环中计数。例如,为什么像这样的东西不起作用?我想让它打印新时代+1 12次 因此,最终它将是: 我现在36岁了 我现在37岁了 等等 下面的代码可以工作,显然print()构造函数不支持+=,但是您可以更新值,然后打印结果 var myAge = 35 for _ in 1...20{ myAge += 1 print("I am now \(myAge) years old") } Swift不支持语法myAge+=1内部字
下面的代码可以工作,显然print()构造函数不支持+=,但是您可以更新值,然后打印结果
var myAge = 35
for _ in 1...20{
myAge += 1
print("I am now \(myAge) years old")
}
Swift不支持语法
myAge+=1
内部字符串插值。您可以改为myAge++
var myAge = 35
for _ in 1...20 {
print("I am now \(myAge++) years old")
}
字符串插值尝试描述值,而不是计算表达式。从技术上讲,它对符合
CustomStringConvertible
的任何内容插入调用.description
-a字符串的结果。看
那么,考虑到它是一个值,而不是一个表达式,您希望myAge+=1
是什么类型?如果明确添加,则:
var myAge = 35
for _ in 1...20 {
let x = (myAge += 1)
print("I am now \(x) years old")
}
您将看到编译器警告您:
“常数x推断为具有类型“()”,这可能是意外的。”请注意,一旦发布Swift 3,这将不再有效。++和--运算符已被弃用。现在,您可以在for循环中自己执行myAge+=1
,然后在print语句中打印出myAge
。
var myAge = 35
for _ in 1...20 {
let x = (myAge += 1)
print("I am now \(x) years old")
}