第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于Go語言報錯的問題?

關于Go語言報錯的問題?

慕哥6287543 2018-07-15 17:02:56
問題出現(xiàn)的環(huán)境背景及自己嘗試過哪些方法Val是TreeNode結構體的一個成員變量stack.Peek()返回值是(bool, interface{})相關代碼_, _top := stack.Peek()// 如果用這兩行代碼就會報錯// _top = _top.(*TreeNode)// res = append(res, _top.Val)// 以下一行代碼沒有報錯res = append(res, _top.(*TreeNode).Val)// 以下兩行代碼也沒有報錯_top2 := _top.(*TreeNode) res = append(res, _top2.Val)你期待的結果是什么?實際看到的錯誤信息又是什么?為什么注釋掉的兩行代碼,我先執(zhí)行了類型轉(zhuǎn)換,然后去取Val的時候會報錯呢?報錯信息是type interface {} is interface with no methods
查看完整描述

1 回答

?
米脂

TA貢獻1836條經(jīng)驗 獲得超3個贊

類型錯了,
_, _top := stack.Peek() 出來的_top 是interface{} 類型的,沒問題
_top = _top.(TreeNode) 語法上來說沒有問題, 但是記住_top是inteface{}類型, _top.(TreeNode)
等于沒做.

所以到下面一行
res = append(res, _top.Val)
_top是一個interface{}, 怎么會有Val成員變量

把那兩行代碼改成
_tmp := _top.(*TreeNode)
res = append(res, _tmp.Val)
那就ok了


查看完整回答
反對 回復 2018-07-20
  • 1 回答
  • 0 關注
  • 181 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號