Golang的坑之文件覆写
在Java/Python中, 文件打开后,默认是覆写,但golang默认是不覆盖的
最初以为这些代码会”无则创建,有则覆盖”
f, err := os.OpenFile(dst, os.O_WRONLY|os.O_CREATE, os.ModePerm)
这样得到f, 如果不执行
f.Truncate(0)
就f.Write就只是覆盖当前位置的内容,并不会截断文件.
事实上需要这样写
f, err := os.OpenFile(dst, os.O_WRONLY|os.O_TRUNC|os.O_CREATE, os.ModePerm)
blog comments powered by Disqus