如果我在我的main()函数中创建了一个文件:output, err := os.Create("D:\\output.txt")我希望程序中另一个函数打印的所有内容都使用以下命令放入该文件中:output.WriteString(str)我怎么能传递一个指向该文件的指针,以便函数可以写入它?另外,有没有其他方法可以将字符串写入文件,或者WriteString是否足够?
3 回答
收到一只叮咚
TA贡献1821条经验 获得超4个赞
让您的函数使用*类型修饰符将指针作为参数,并按原样传递文件对象,因为 os.Create 已经返回一个指针:
func WriteStringToFile(f *os.File) {
n, err := f.WriteString("foobar")
}
// ..
output, err := os.Create("D:\\output.txt")
WriteStringToFile(output)
另外,请注意不要忽略错误是一个好习惯。
可以通过几种不同的方式将字符串写入文件,特别是如果您想避免os.File直接使用对象,而只使用 io.Writer 接口。例如:
fmt.Fprint(output, "foo bar")
30秒到达战场
TA贡献1828条经验 获得超6个赞
只需定义一个可以将*File指针作为参数的函数:
func Write(output *os.File) {
(...)
}
Write(&output) //call function.
}
此外,您可能希望使用以下方法确保最终关闭文件:
defer output.Close()
- 3 回答
- 0 关注
- 110 浏览
添加回答
举报
0/150
提交
取消