微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将此语句的输出写入Golang中的文件

我正在尝试将下面语句的输出写入文本文件,但我似乎无法找出是否有一个直接写入文本文件的printf函数.例如,如果下面的代码产生结果[5 1 2 4 0 3],我想将其读入文本文件以进行存储和持久化.有什么想法吗?

我要转到文本文件代码

//choose random number for recipe
r := rand.New(rand.NewSource(time.Now().UnixNano()))
i := r.Perm(5)
fmt.Printf("%v\n",i)
fmt.Printf("%d\n",i[0])
fmt.Printf("%d\n",i[1])
您可以将 fmt.Fprintf与io.Writer一起使用,它将代表文件的句柄.

这是一个简单的例子:

func check(err error) {
    if err != nil {
        panic(err)
    }
}

func main() {
    f,err := os.Create("/tmp/yourfile")
    check(err)
    defer f.Close()

    w := bufio.NewWriter(f)
    //choose random number for recipe
    r := rand.New(rand.NewSource(time.Now().UnixNano()))
    i := r.Perm(5)

    _,err = fmt.Fprintf(w,"%v\n",i)
    check(err)
    _,"%d\n",i[0])
    check(err)
    _,i[1])
    check(err)
    w.Flush()
}

在Go中显示了更多写入文件方法here.

请注意,我在这里使用panic()仅仅是为了简洁起见,在现实生活中你应该适当地处理错误(在大多数情况下,这意味着除了退出程序之外的东西,恐慌()的作用).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐