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])


catspeake
浏览 374回答 2
2回答

慕标5832272

您可以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)    _, err = fmt.Fprintf(w, "%d\n", i[0])    check(err)    _, err = fmt.Fprintf(w, "%d\n", i[1])    check(err)    w.Flush()}此处显示了在 Go 中写入文件的更多方法。请注意,我在panic()这里使用只是为了简洁起见,在现实生活场景中,您应该适当地处理错误(在大多数情况下,这意味着除了退出程序之外的其他事情,还有什么panic())。

牧羊人nacy

此示例将值写入output.txt文件。package mainimport (    "bufio"    "fmt"    "math/rand"    "os"    "time")func main() {    file, err := os.OpenFile("output.txt", os.O_WRONLY|os.O_CREATE, 0666)    if err != nil {        fmt.Println("File does not exists or cannot be created")        os.Exit(1)    }    defer file.Close()    w := bufio.NewWriter(file)    r := rand.New(rand.NewSource(time.Now().UnixNano()))    i := r.Perm(5)    fmt.Fprintf(w, "%v\n", i)    w.Flush()}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go