gpt4 book ai didi

swift - 如何在 swift 中定义显式转换运算符?

转载 作者:可可西里 更新时间:2023-11-01 01:06:40 26 4
gpt4 key购买 nike

背景

我有一个想要隐藏实现细节的类。

class Foo
{
var i : Int
}

let f = Foo()

有没有一种方法可以定义显式转换运算符,以便在 f as Int 上调用它?

如果没有,是否有我应该使用的规范方法名称,如 asInt() -> Int

最佳答案

我不知道这是你想要的,但你可以像 Int 初始化器一样实现强制转换:

extension Int {
init(_ foo:Foo) {
self = foo.i
}
}

let f = Foo()
f.i = 12
let intVal = Int(f) // -> 12

关于swift - 如何在 swift 中定义显式转换运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26396065/

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