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

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

Golang etcd 觀察者恐慌

Golang etcd 觀察者恐慌

Go
慕工程0101907 2021-11-22 15:17:28
全部!我有下面的代碼:package mainimport (        "log"        "github.com/coreos/go-etcd/etcd")func main() {        client := etcd.NewClient(                []string{                        "http://172.20.20.10:2379",                        "http://172.20.20.11:2379",                        "http://172.20.20.12:2379",                },        )        for {                watchChan := make(chan *etcd.Response)                go client.Watch("/config", 0, false, watchChan, nil)                log.Println("Waiting for an update...")                r := <-watchChan                log.Printf(">>> got an updated config: %s: %s\n", r.Node.Key, r.Node.Value)        }}但是...當(dāng)某個(gè)節(jié)點(diǎn)(例如 172.20.20.11)出現(xiàn)故障時(shí),恐慌會(huì)抱怨無(wú)效的內(nèi)存地址或零指針取消引用...> $ ./etcd-watcher2015/11/09 18:46:19 Waiting for an update...panic: runtime error: invalid memory address or nil pointer dereference[signal 0xb code=0x1 addr=0x10 pc=0x22fe]goroutine 1 [running]:main.main()    /Users/Stalker/Workspace/src/snippets/etcd-watcher.go:26 +0x2begoroutine 17 [syscall, locked to thread]:runtime.goexit()     /Users/Stalker/App/Go/1.5.1/src/runtime/asm_amd64.s:1696 +0x1goroutine 19 [runnable]:net/http.(*persistConn).writeLoop(0xc8200c6dc0)    /Users/Stalker/App/Go/1.5.1/src/net/http/transport.go:1009 +0x40ccreated by net/http.(*Transport).dialConn    /Users/Stalker/App/Go/1.5.1/src/net/http/transport.go:686 +0xc9d有人可以解釋一下發(fā)生了什么以及如何使這個(gè)簡(jiǎn)單的示例正常工作嗎?非常感謝您的建議!亞歷克斯
查看完整描述

1 回答

?
翻過(guò)高山走不出你

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

圖書(shū)館可以關(guān)閉watchChan通道。這將返回一個(gè) nil 值r,然后在您嘗試 log 時(shí)發(fā)生恐慌r.Node。當(dāng)你得到一個(gè)指針時(shí),你應(yīng)該檢查它不是nil。我還建議檢查接收器通道是否已關(guān)閉并采取相應(yīng)措施。


r, open := <-watchChan

if !open {

    // channel is closed

}

if r == nil {

   // the watch channel return a nil value

}


查看完整回答
反對(duì) 回復(fù) 2021-11-22
  • 1 回答
  • 0 關(guān)注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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