最新回答 / tom_0
其實case可以理解為嘗試讀取ch4,這時會發(fā)生兩種情況,一種是讀取到數(shù)據(jù),一種是沒讀取到數(shù)據(jù),如果讀取不到數(shù)據(jù),則default條件成立;如果讀取到數(shù)據(jù),這時又分為兩種情況,一種是讀取正常的數(shù)據(jù),且通道也正常(ok為true);另外一種情況是通道關(guān)閉了,這時讀取到的值是:e為零值,這里為int的0,然后ok為false,表示通道已經(jīng)關(guān)閉。所以,如果沒有close,第三次循環(huán)就會又進(jìn)入 default 語句,然后ch4會再次被賦值,在第四次執(zhí)行時,再次輸出1
2017-08-01
func (p *Person) Move(newaddr string) string{
oldaddr := p.Address
p.Address = newaddr
return oldaddr
}
oldaddr := p.Address
p.Address = newaddr
return oldaddr
}
2017-07-16
vim /etc/profile
最后一行插入
export GOROOT=/usr/local/go
export GOPATH=~/golib:~/goproject
export GOBIN=~/gobin
export PATH=$PATH:$GOROOT/bin:$GOBIN
然后 source /etc/profile
root 權(quán)限下,
最后一行插入
export GOROOT=/usr/local/go
export GOPATH=~/golib:~/goproject
export GOBIN=~/gobin
export PATH=$PATH:$GOROOT/bin:$GOBIN
然后 source /etc/profile
root 權(quán)限下,
2017-07-12
number=6,然后sender接收到6,但是如果聲明myChannel=make(chan int, (0)),這表示是一個非緩沖通道,那么,sender為6,myChannel接收到值之后立馬阻塞,然后去執(zhí)行下面的匿名函數(shù),在打印的時候取走了myChannel通道里面的值,然后myChannel不被阻塞,再執(zhí)行上面的一個匿名函數(shù),所以結(jié)果是Received! 6
Sent!
Sent!
2017-07-11