加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Swift tip:使用 struct 来模拟命名空间

发布时间:2022-10-15 09:01:23 所属栏目:PHP教程 来源:未知
导读: Swift 没有类似 C++ 的命名空间。它分 modulePHP命名空间,一个 module 一个命名空间。实际工程中,每个 module 对应一个 framework target。而 target 太多,工程会难以管理。
因此我很希

Swift 没有类似 C++ 的命名空间。它分 modulePHP命名空间,一个 module 一个命名空间。实际工程中,每个 module 对应一个 framework target。而 target 太多,工程会难以管理。

因此我很希望 Swift 可以方便地在同一个 module 中划分命名空间,最好在语言上添加上 namespace 关键字。这个需求暂时可以使用 struct 去模拟。

比如工程中的网络部分,我想放到 network 命名空间中。可以定义

struct network
{
    class Connect
    {
        xxxxx
    }
}

其它的文件,就使用 extension 语法

extension network
{
    class HttpConnect
    {
        xxxxx
    }
}

这样就可以用名字 network.HttpConnect 来访问代码。假如嫌前缀太长,使用时候在 swift 文件中定义

private typealias HttpConnect = network.HttpConnect

这样基本可以达到命名空间的作用。但我还是希望这种机制集成到语言中。

使用 struct 来模拟命名空间,而不是用 class。是因为在 Swift 中,struct 比 class 更加轻量。

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!