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

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

無法將數(shù)據(jù)(類型接口{})轉(zhuǎn)換為字符串類型:需要類型斷言

無法將數(shù)據(jù)(類型接口{})轉(zhuǎn)換為字符串類型:需要類型斷言

Go
富國滬深 2021-05-11 10:12:24
我要走的很新,我正在玩這個(gè)通知包。最初,我有如下代碼:func doit(w http.ResponseWriter, r *http.Request) {    notify.Post("my_event", "Hello World!")    fmt.Fprint(w, "+OK")}我想Hello World!在doit上面的函數(shù)中添加換行符,但不要在其中添加,因?yàn)檫@很簡單,但是在handler下面的代碼中,如下所示:func handler(w http.ResponseWriter, r *http.Request) {    myEventChan := make(chan interface{})    notify.Start("my_event", myEventChan)    data := <-myEventChan    fmt.Fprint(w, data + "\n")}之后go run:$ go run lp.go # command-line-arguments./lp.go:15: invalid operation: data + "\n" (mismatched types interface {} and string)經(jīng)過一番谷歌搜索后,我在SO上發(fā)現(xiàn)了這個(gè)問題。然后,我將代碼更新為:func handler(w http.ResponseWriter, r *http.Request) {    myEventChan := make(chan interface{})    notify.Start("my_event", myEventChan)    data := <-myEventChan    s:= data.(string) + "\n"    fmt.Fprint(w, s)}這是我應(yīng)該做的嗎?我的編譯器錯(cuò)誤消失了,所以我想那很好嗎?這樣有效嗎?您應(yīng)該以其他方式做嗎?
查看完整描述

3 回答

?
慕婉清6462132

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊

類型斷言

這type assertion在golang中是眾所周知的,這是一種常見的做法。


這是go之旅的解釋:


類型斷言提供對(duì)接口值的基礎(chǔ)具體值的訪問。


t := i.(T)

該語句斷言接口值i擁有具體類型T,并將基礎(chǔ)T值分配給變量t。


如果我不持有T,則該語句將引發(fā)恐慌。


為了測試接口值是否具有特定類型,類型斷言可以返回兩個(gè)值:基礎(chǔ)值和報(bào)告斷言是否成功的布爾值。


t, ok := i.(T)

如果我持有T,則t將是基礎(chǔ)值,而ok將為真。


如果不是,則ok將為false,t將為T類型的零值,并且不會(huì)發(fā)生任何恐慌。


注意:值i應(yīng)為接口類型。


陷阱

即使i是接口類型,[]i也不是接口類型。因此,為了轉(zhuǎn)換[]i為其值類型,我們必須單獨(dú)進(jìn)行操作:


// var items []i

for _, item := range items {

    value, ok := item.(T)

    dosomethingWith(value)

}


查看完整回答
反對(duì) 回復(fù) 2021-05-31
?
墨色風(fēng)雨

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個(gè)贊

//an easy way:

str := fmt.Sprint(data)


查看完整回答
反對(duì) 回復(fù) 2021-05-31
  • 3 回答
  • 0 關(guān)注
  • 402 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)