我最近嘗試os.Truncate在將修改后的版本重新寫入文件之前使用參數 0 來清除文件的內容(我知道這是一種非常不安全的做法,但文件的內容對我來說并不重要)。令我震驚的是,Truncate 并沒有重置文件的光標,所以當我寫回文件時,我最終得到了一個以一堆空字節為前綴的文件(對應于之前內容的大小),除非我使用file.Seek(0, 0)預先。所以我的問題是:這是語言的錯誤,是在實現該功能的過程中被遺忘的東西,還是有意為之,出于某種神秘的原因,這是一種理想的行為?那個神秘的原因可能是什么?我正在使用 go 版本 go1.3.3 linux/amd64
添加回答
舉報
0/150
提交
取消