list能嵌套做为函数的返回类型么?

牧牛童子 2021-04-25 01:38:16
我尝试 func fun01() *list.List {}
报错。use of package list without selector
函数体内,定义一个 L1 := list.New()
L2 := list.New()

L1.PushBack(L2)

想将 L1返回 ,如何 正确使用呢?

这个函数可以正确返回。但是在接收时,第一层遍历,正确;
第二层,也是个LIST , 但用同样的方法 遍历第二层时,就报错。

L01Obj := fun01()
for e := L01Obj.Front(); e != nil; e = e.Next() {
l02SubListObj := e.Value
/* // 这一层遍历就出错
for i := l02SubListObj.Front(); i != nil; i = i.Next() {
fmt.Printf("%v\n", i.Value)
}
*/
//fmt.Println("cnt:", len(l02SubListObj))
fmt.Printf("%v\n", e.Value)
}
...全文
758 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
牧牛童子 2021-04-25
  • 打赏
  • 举报
回复
根据一篇贴子的提示,自己摸索出答案来了。 从session中取值的时候,取出来的是interface{},但是我先返回的值是int型,或者是string....,这个时候会出现一个错误: 错误提示: cannot use ** (变量)(type interface {}) as type **(类型) 需要将取得的值,直接转换成目标类型,即可。可以用 fmt.Printf("%T\n", e.Value) 打印出目标类型; 转换方法 : l02SubListObj := e.Value.(目标类型) //大功告成
wy0109 2021-04-25
  • 打赏
  • 举报
回复
你猜~( ̄▽ ̄~)~

2,190

社区成员

发帖
与我相关
我的任务
社区描述
go语言学习与交流版
社区管理员
  • go语言社区
  • Freeman Z
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧