fmt.Fprintln(writer, f()) , 这句话是什么意思?Fprintln跟平常打印有什么不同?

来源:8-1 defer调用

弱弱小乖乖

2018-04-09

func writeFile(filename string) {
   file, e := os.Create(filename)
   if e != nil {
      panic(e)
   }
   defer file.Close()

   // 先写到内存,数据够大的时候一下子写到文件
   writer := bufio.NewWriter(file)
   defer writer.Flush()

   f := fib.Fibonacci()
   for i := 0; i < 20; i++ {
      fmt.Fprintln(writer, f())
   }

}


写回答

1回答

ccmouse

2018-04-10

Fprintln,Fprintf等,是打印到文件的意思,他们相比Println, Printf,增加了第一个Writer类型的参数,可以传入文件类型。fmt.Fprintln(writer, f()),writer就是我们打开的文件,通过bufio包装了一下。f()就是我们要写入的数据。它先运行f(),取得数据,然后写入writer

1
0

Google资深工程师深度讲解Go语言 由浅入深掌握Go语言

语法+分布式爬虫实战 为转型工程师量身打造

5995 学习 · 1909 问题

查看课程