Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Swift中初始化字典的不同方法?_Swift - Fatal编程技术网

在Swift中初始化字典的不同方法?

在Swift中初始化字典的不同方法?,swift,Swift,据我所知,用Swift申报字典有4种方式: var dict1: Dictionary<String, Double> = [:] var dict2 = Dictionary<String, Double>() var dict3: [String:Double] = [:] var dict4 = [String:Double]() var dict1:Dictionary=[:] var dict2=字典() 变量dict3:[字符串:双精度]=[:] var d

据我所知,用Swift申报字典有4种方式:

var dict1: Dictionary<String, Double> = [:]
var dict2 = Dictionary<String, Double>()
var dict3: [String:Double] = [:]
var dict4 = [String:Double]()
var dict1:Dictionary=[:]
var dict2=字典()
变量dict3:[字符串:双精度]=[:]
var dict4=[String:Double]()
这四种选择似乎产生了相同的结果


这两者有什么区别

你所做的就是注意到你可以:

  • 使用显式变量类型,或者让Swift根据分配给它的值推断变量的类型

  • 使用正式指定的泛型结构表示法
    字典
    ,或使用内置的“语法糖”来描述字典类型
    [字符串:双精度]

二乘二等于四

事实上,你忽略了一些可能性;例如,你可以说

当然,在现实生活中,你不可能做这些事情,只需要给你的变量指定一个实际的字典:

var dict6 = ["howdy":1.0]

谢谢你的回答并给出更多的例子sorry@EricD非常感谢你的指导,我下次会注意的。
var dict6 = ["howdy":1.0]