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

在 go 中创建一个包含列表类型的结构

在 go 中创建一个包含列表类型的结构

Go
LEATH 2023-05-22 17:43:53
我创建了一个结构,这个结构中包含两个列表类型。当我尝试实例化我的结构时,我收到错误cannot use list.New() (type *list.List) as type list.List in field value我正在使用 golang 游乐场结构type myStruct struct {    name string    messages list.List    users list.List    lastUsed time.Time}实例化结构var myVar = myStruct{"hello", list.New(), list.New(), time.Now()}
查看完整描述

2 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

list.New() 返回一个指针*List,而 myStruct 将其字段声明为List。


func New() *列表


消息和用户应该是 *list.List


type myStruct struct {

    name string

    messages *list.List

    users *list.List

    lastUsed time.Time

}

根据您的需要的另一种方法,您可以按如下方式初始化结构:


var myVar = myStruct{"hello", *list.New(), *list.New(), time.Now()}


查看完整回答
反对 回复 2023-05-22
?
一只萌萌小番薯

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

您正在创建错误的结构,因为根据listpackageNew()方法返回列表的指针类型,并且您list在没有指针的结构中创建。


func New() *List

所以,根据 doc 你需要像下面这样创建你的结构:


type myStruct struct {

    name string

    messages *list.List

    users *list.List

    lastUsed time.Time

}

去游乐场


查看完整回答
反对 回复 2023-05-22
  • 2 回答
  • 0 关注
  • 161 浏览
慕课专栏
更多

添加回答

举报

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