美文网首页
不透明类型

不透明类型

作者: 一个栗 | 来源:发表于2022-03-02 14:31 被阅读0次

    why

    • 想画一个不规则四边形,代码是可以编译通过的,但是返回类型又臭又长,被暴露了出去。
    • 不能将 Container 用作函数的返回类型,因为该协议具有关联类型。也不能将它用作返回类型的泛型约束,因为函数体外没有足够的信息来推断泛型类型需要什么。

    解决问题

    返回不透明类型 VS 返回协议类型

    • 返回 opaque 类型看起来非常类似于使用协议类型作为函数的返回类型,但这两种返回类型的不同之处在于他们是否保留了类型标识。opaque 是指一种特定类型,尽管函数的调用者不能看到是哪种类型;协议类型可以指代符合协议的任何类型。一般来说,协议类型为存储的值的基础类型提供了更大的灵活性,而不透明类型可以对这些基础类型做出更强有力的保证。

    相关文章

      网友评论

          本文标题:不透明类型

          本文链接:https://www.haomeiwen.com/subject/rqbdrrtx.html