游乐场代码:
import simd
let test = int4(1,2,3,4) // this works
let x = 1
let test2 = int4(x,2,3,4) // doesn't work (nor does let x: Int = 1)
let y: Int32 = 1
let test3 = int4(y,2,3,4) // works
很明显,int4
期望值Int32
,但在第一种情况下,它似乎能够在没有明确指定 Int 类型的情况下弄清楚它,但在第二种情况下(当整数首次存储为单独的变量时)它没有。
这是 Swift 中的预期行为吗?