Go包导入未使用且DataModel未定义问题求助
解决Go包导入与未定义类型问题
你的两个错误是关联的,根源在于跨包类型引用方式错误,同时还缺少必要的标准库导入:
修正跨包类型引用
Go语言中,跨包访问自定义类型必须使用包名.类型名的格式。你在data.go里导入了model包,但直接写DataModel,编译器无法识别这个未限定包名的类型,同时因为没正确使用导入的model包,触发了"imported and not used"错误。将
var result DataModel修改为:var result model.DataModel补充缺失的标准库导入
你的代码中使用了json.Unmarshal和fmt.Println,但没有导入对应的标准库包,需要在data.go的import块中添加:"encoding/json" "fmt"
修正后的data.go完整代码:
package main import( "encoding/json" "fmt" "github.com/username/test/my-project/model" ) func consumeApi() { ... var result model.DataModel if err := json.Unmarshal(body, &result); err != nil { fmt.Println("Can not unmarshal JSON") } ... }
这样就能同时解决"导入未使用"和"DataModel未定义"两个问题。
内容的提问来源于stack exchange,提问作者ABa
相关产品推荐
相关产品推荐

