GoLang-来自不同范围的类型

  • 本文关键字:范围 类型 GoLang- go
  • 更新时间 :
  • 英文 :


如果您得到一个错误,如:

interface conversion: interface {} is *purchase.User, not *purchase.User (types from different scopes)

由于错误消息中的预期类型和实际类型完全相同,因此您发送的类型似乎是正确的。

您可能在另一个包(purchase2(中创建了另一个指向*purchase.User的类型,这是您的方法正在考虑接收但您正在发送(purchase.User(的类型

例如:

purchase包装

type User struct {
firstName string
lastName string
}

purchase2包装

import purchase
type User purchase.User

检查你指的是哪种类型。

另一个原因是:您以某种方式导入了两次包,使用了两个不同的导入路径。除非在特殊情况下(AST代码重写器、非标准销售等(,否则这种情况不太可能出现。

如果您使用不同的路径导入同一个包,则很有可能您做错了什么。停止:P

最新更新