我想在新創建的文件上寫一些東西package mainimport ( "fmt" "io/ioutil" "os")func main() { f, _ := os.Create("temp.txt") contents := "some stuff..." f.WriteString(contents) // <-------- f.Sync() //f.Close() //f, _ = os.Open("temp.txt") b, _ := ioutil.ReadAll(f) fmt.Println(string(b)) // <--------}但寫了一些東西然后閱讀后,最后一行什么也沒打印。為什么?如果我取消上面這兩行的注釋,一切正常!
1 回答

阿晨1998
TA貢獻2037條經驗 獲得超6個贊
當您讀取或寫入文件時,您會移動當前位置,因此它會從您離開的位置繼續讀取/寫入。只有一個位置,因此如果您先寫然后讀,您將從寫后剩下的位置開始閱讀。
用于f.Seek(0,0)
在寫入后將位置移動到文件的開頭。
- 1 回答
- 0 關注
- 136 瀏覽
添加回答
舉報
0/150
提交
取消