我正在学习空接口。我发现虽然有很多解释(也在Stackoverflow上),关于空接口的含义和工作原理,但是在何时/为什么使用它们、何时避免使用它们、考虑因素以及选择使用它们的利弊方面的最佳实践信息很少。
在Go聊天室中,我读到一些讨论,说最好尽可能避免使用空接口,但没有适当的论据。其他人则自豪地回应说他们的代码设计中没有任何空接口。
我最感兴趣的是库和框架的用途(旨在供他人重用/扩展)。
现在我正在阅读一个带有相关库的框架代码库,其中许多位置都充满了空接口。其中一些使我感到困惑,我想知道所有用法是否都是必要的。例如,该框架提供“用户管理”和像
在Go聊天室中,我读到一些讨论,说最好尽可能避免使用空接口,但没有适当的论据。其他人则自豪地回应说他们的代码设计中没有任何空接口。
我最感兴趣的是库和框架的用途(旨在供他人重用/扩展)。
现在我正在阅读一个带有相关库的框架代码库,其中许多位置都充满了空接口。其中一些使我感到困惑,我想知道所有用法是否都是必要的。例如,该框架提供“用户管理”和像
AppConfiguration
和UserPreferences
这样的东西是空接口。这是因为在代码的后面(接近数据库层)中,用户的电子邮件技术上被视为用户偏好设置。在接口定义中更具体是否更好呢?