我有以下代码块: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个赞
我可以看到两个问题:
导入
fmt
包而不使用它。在 Go 中,未使用的导入会导致编译时错误;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指南中阅读更多内容,并决定这对您的特定情况是否有意义。
- 1 回答
- 0 关注
- 146 浏览
添加回答
举报
0/150
提交
取消