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

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

//f.Seek(0, 2)

出錯(cuò)了出錯(cuò)了,注釋掉就沒事了,centos 7.0

讀取時(shí)err會(huì)等于EOF

正在回答

6 回答

我這里正常,具體報(bào)什么錯(cuò)?把錯(cuò)誤信息貼出來唄。

1 回復(fù) 有任何疑惑可以回復(fù)我~

最后一個(gè)字節(jié)吧

0 回復(fù) 有任何疑惑可以回復(fù)我~

如果一開始有數(shù)據(jù)? seek直接讀取到末尾如果文件為空需要先將\n讀取

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

小月肖 提問者

seek的目的是為了讀取\n
2018-04-23 回復(fù) 有任何疑惑可以回復(fù)我~
#2

麥可同學(xué) 回復(fù) 小月肖 提問者

f.Seek(0, 2) 的作用是將文件指針移動(dòng)到末尾哈,你可以看下官方文檔:https://golang.org/pkg/os/#File.Seek
2018-04-24 回復(fù) 有任何疑惑可以回復(fù)我~
#3

小月肖 提問者

知道啦
2018-04-24 回復(fù) 有任何疑惑可以回復(fù)我~
#4

小月肖 提問者 回復(fù) 麥可同學(xué)

是將指針移到整個(gè)文件的最后嗎? 不是移到某一行的最后嗎
2018-04-24 回復(fù) 有任何疑惑可以回復(fù)我~
查看1條回復(fù)

我一開始文件里面是有數(shù)據(jù)的


0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

A_小穎

對啊,程序會(huì)一直讀取文件內(nèi)容,直到末尾,如果沒有新增的日志數(shù)據(jù),肯定會(huì)返回io.EOF,這時(shí)需要等待新的日志產(chǎn)生。
2018-04-23 回復(fù) 有任何疑惑可以回復(fù)我~

這是正常的把,err==io.EOF 是處理文件到末尾的情況,然后再需要等待日志繼續(xù)產(chǎn)生。

2 回復(fù) 有任何疑惑可以回復(fù)我~
func?(r?*ReadFromFile)?Read(rc?chan?[]byte)?{
???//讀取數(shù)據(jù)

???f,?err?:=?os.Open(r.path)
???if?err?!=?nil?{
??????panic(fmt.Sprintf("open?file?fail:%s",?err.Error()))
???}

???//從文件末尾逐行讀取文件內(nèi)容
???f.Seek(0,?2)

???rd?:=?bufio.NewReader(f)

???for?{

??????line,?err?:=?rd.ReadBytes('\n')

??????if?err?==?io.EOF?{
?????????log.Println(err)
?????????time.Sleep(500?*?time.Millisecond)
?????????continue
??????}?else?if?err?!=?nil?{
?????????panic(fmt.Sprintf("ReadBytes?error:?%s",?err.Error()))
??????}
??????rc?<-?line[:len(line)-1]

???}

}

如果注釋不

f.Seek(0,?2)

則直接在

line,?err?:=?rd.ReadBytes('\n')

err==io.EOF


0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
Go并發(fā)編程案例解析
  • 參與學(xué)習(xí)       15269    人
  • 解答問題       56    個(gè)

課程帶你通過一個(gè)真實(shí)的線上日志監(jiān)控系統(tǒng)學(xué)習(xí)Golang以及并發(fā)的編程思想。

進(jìn)入課程
微信客服

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

幫助反饋 APP下載

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

公眾號

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