2 回答

TA贡献1966条经验 获得超4个赞
您可以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())。

TA贡献1862条经验 获得超7个赞
此示例将值写入output.txt文件。
package main
import (
"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()
}
- 2 回答
- 0 关注
- 373 浏览
添加回答
举报