为了账号安全,请及时绑定邮箱和手机立即绑定

自定义结构中的 Golang 参考列表

自定义结构中的 Golang 参考列表

Go
千巷猫影 2021-06-10 22:25:34
我有以下代码块:package mainimport (    "fmt"    "container/list")type Foo struct {    foo list  //want a reference to the list implementation                //supplied by the language}func main() {   //empty  }编译时我收到以下消息:使用不在选择器中的包列表我的问题是,如何list在 a 中引用struct?或者这不是 Go 中包装结构的正确习惯用法。(作品)
查看完整描述

1 回答

?
蓝山帝景

TA贡献1843条经验 获得超7个赞

我可以看到两个问题:

  1. 导入fmt包而不使用它。在 Go 中,未使用的导入会导致编译时错误;

  2. foo未正确声明:list是包名而不是类型;您想使用container/list包中的类型。

更正的代码:

package main


import (

    "container/list"

)


type Foo struct {

    // list.List represents a doubly linked list.

    // The zero value for list.List is an empty list ready to use.

    foo list.List

}


func main() {}

您可以在Go Playground 中执行上述代码。

你也应该考虑阅读官方文档中的container/list包。


根据您尝试执行的操作,您可能还想知道 Go 允许您在结构或接口中嵌入类型。在Effective Go指南中阅读更多内容,并决定这对您的特定情况是否有意义。


查看完整回答
反对 回复 2021-06-21
  • 1 回答
  • 0 关注
  • 146 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信