Swift 为什么递增一个值会显示“我”;()“什么;?
这是我的代码:Swift 为什么递增一个值会显示“我”;()“什么;?,swift,Swift,这是我的代码: var pictureVersion = snapshotValuesOnline?["PictureVersion"] as! String print("downloaded: \(pictureVersion)") var pictureVersionInt = Int(pictureVersion)! print("toInt : \(pictureVersionInt)") var pictureInt = pictureVersionInt += 1 print(
var pictureVersion = snapshotValuesOnline?["PictureVersion"] as! String
print("downloaded: \(pictureVersion)")
var pictureVersionInt = Int(pictureVersion)!
print("toInt : \(pictureVersionInt)")
var pictureInt = pictureVersionInt += 1
print("plusOne : \(pictureInt)")
var pictureIntToString = "\(pictureInt)"
print("toString : \(pictureIntToString)")
这是我的输出:
downloaded: 3
toInt : 3
plusOne : ()
toString : ()
我做错了什么
+=
被定义为一个函数,如下所示:
func +=(lhs: inout Int, hrs: Int) { lhs = lhs + hrs }
此函数不返回任何内容,因此它相当于返回Void
(定义为空元组,()
),也称为nothing
您将获得与以下相同的行为:
func f() {} // Type `(Void) -> Void`
print(f())
pictureInt
是Void
,因为+=
是一个inout
函数,用于修改pictureVersionInt
。为什么要使用+=
?为什么不干脆让pictureInt=pictureVersionInt+1
?