【发布时间】:2021-07-16 18:16:02
【问题描述】:
考虑以下接口定义:
package repos
import (
resources "unit/pkg/resources"
)
type IRepo interface {
fetch(int32) (resources.IResource, error)
update(resources.IResource) (resources.IResource, error)
new() resources.IResource
create(resources.IResource) (resources.IResource, error)
delete(int32) error
}
有没有办法“使用”导入的包(在 C++ 命名空间的意义上),这样我就不需要在每次引用它的一种类型时使用点符号显式命名它(IResource)
(TBH - 这可能只是意味着IResource 属于repos 包而不是resources)
【问题讨论】:
-
只定义一个新的包本地类型会很愚蠢吗?例如 -
type RepoResource resources.IResource? -
如果你需要这个,你可能有设计缺陷,或者你可能只是不习惯 Go。引用命名空间类型是 Go 正常工作的方式。
标签: go namespaces