gpt4 book ai didi

arrays - 在 Swift 代码中,数组接受 AnyObject,如果我们给出一个 Integer 和一个 Double,它会接受 Double 值,为什么?

转载 作者:行者123 更新时间:2023-11-30 10:19:18 25 4
gpt4 key购买 nike

案例1:

Swift 代码接受以下语句作为 AnyObjectvar 数组 = [1, 1.0, "字符串"]

数组的输出为:[1, 1.0, "String"]

案例2:

但是它不接受下面的 AnyObject 代码并假设它是所有 Doubles 为什么var any_object = [1, 2.0, 222222222.888888]

any_object 的输出为:[1.0, 2.0, 222222222.0]

为什么功能从 case1 更改为 case2?谁能帮我解释一下我的疑问。

最佳答案

第一种情况必须是 AnyObject 因为既有数字数据类型又有字符串。第二种情况是使用可以从值推断出的最精确形式的数字数据类型(在本例中为 Double)。

如果您希望在第二种情况下使用AnyObject,您可以在定义时指定此类型:

var any_object: [AnyObject] = [1, 2.0, 222222222.888888]

关于arrays - 在 Swift 代码中,数组接受 AnyObject,如果我们给出一个 Integer 和一个 Double,它会接受 Double 值,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28143761/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com