猿问

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

我有以下代码块:


package main


import (

    "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 中包装结构的正确习惯用法。(作品)


千巷猫影
浏览 148回答 1
1回答

蓝山帝景

我可以看到两个问题:导入fmt包而不使用它。在 Go 中,未使用的导入会导致编译时错误;foo未正确声明:list是包名而不是类型;您想使用container/list包中的类型。更正的代码:package mainimport (    "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指南中阅读更多内容,并决定这对您的特定情况是否有意义。
随时随地看视频慕课网APP

相关分类

Go
我要回答