swift – 在变量中分配运算符函数
发布时间:2020-12-14 04:52:46 所属栏目:百科 来源:网络整理
导读:我正在尝试为**(未存在的)运算符创建一个通用函数,该运算符将计算左数字到正确数字的幂. 它适用于0和正数,但我想要处理负数. 我想到了几个想法,但我想尝试将现有运算符的功能存储在变量中,如下所示: var operation = * 要么 var operation = / 使用操作(a,b
我正在尝试为**(未存在的)运算符创建一个通用函数,该运算符将计算左数字到正确数字的幂.
它适用于0和正数,但我想要处理负数. 我想到了几个想法,但我想尝试将现有运算符的功能存储在变量中,如下所示: var operation = * 要么 var operation = / 使用操作(a,b)将与a * b或a / b相同 在Swift中这样的事情可能吗? 解决方法
你不能做这个:
var operation = * 但是,你可以这样做: var operation:(Int,Int) -> Int = (*) operation(4,2) // -> 8 因为*有许多重载类型: func *(lhs: UInt32,rhs: UInt32) -> UInt32 func *(lhs: Int32,rhs: Int32) -> Int32 func *(lhs: UInt64,rhs: UInt64) -> UInt64 func *(lhs: Int64,rhs: Int64) -> Int64 func *(lhs: UInt,rhs: UInt) -> UInt func *(lhs: Int,rhs: Int) -> Int func *(lhs: Float,rhs: Float) -> Float func *(lhs: Double,rhs: Double) -> Double func *(lhs: Float80,rhs: Float80) -> Float80 我们必须明确指定哪一个. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |