解决方法
我通常倾向于在适当命名的类型上使用类型方法,以便为您的辅助方法提供上下文并避免污染全局命名空间.
在Swift中,结构体是这种结构的理想候选者:
struct Helper { static func helpfulMethod() { ... } }
我还在我的顶级类型中使用具有静态常量的嵌入式结构,以便在我的代码中对相关常量进行分组.
在编写自定义Swift类型时,通常应该首先考虑使用结构,并且只需要在继承时引用类,引用语义(与具有值语义的隐式复制相反)或所有权语义(无主/弱).在这种情况下,您的实用程序函数将是无状态的,并且没有可继承的内容,因此结构应该优先于类.
我认为,一般来说,Swift语言正在逐渐脱离全局函数,转而支持类型(和协议/泛型)提供的隐式命名空间.但它仍然在很大程度上取决于风格/个人偏好,对于像实用功能这样简单的事情来说,这并不重要.