Go+ 写文件方法教程(4.15)

Posted Data-Mining

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go+ 写文件方法教程(4.15)相关的知识,希望对你有一定的参考价值。

目录

Go+ 概述

正文

导入包

利用 os 包写入文件

打开并写入文件

利用 bufio 包写入文件


Go+ 概述

Go+ 是一门融合工程开发的 Go、数据科学领域的 Python、编程教学领域的 Scratch,以 Python 之形结合 Go 之心,让工程师处理数据不需要学习新的开发语言,让初学者学习编程、开发作品的门槛更低的编程语言。

正文

和读文件方法类似,Go+ 也提供很多写文件的方法,今天我们就来了解一下这方面的一些内容。

导入包

Go+ 在写文件时,一般会使用的工具库是 os 和 bufio 包,导入方式如下:

import (
    "bufio"
    "os"
)

利用 os 包写入文件

首先,我们来看如何将字节数组写入文件,示例代码如下:

import (
    "bufio"
    "os"
)
func check(e error) 
    if e != nil 
        panic(e)
    


d1 := []byte("hello\\nworld\\n")
err := os.WriteFile("/tmp/f1", d1, 0644)
check(err)

执行完毕后,没有触发 panic,说明程序执行成功啦。但是不够直观,我们把文件内容读一下再打印出来,进而佐证我们的推断,示例代码:

import (
    "bufio"
    "os"
)
func check(e error) 
    if e != nil 
        panic(e)
    


d1 := []byte("hello\\nworld\\n")
err := os.WriteFile("/tmp/f1", d1, 0644)
check(err)

dat, err := os.ReadFile("/tmp/f1")
check(err)
print(string(dat))

执行结果:

hello
world

从执行结果可以知道我们的推断是正确的,程序没有问题。

亲自试一试!

打开并写入文件

写文件还有一种思路,就是首先创建或者打开一个文件,再向其中写入内容信息,示例代码如下:

import (
    "bufio"
    "os"
)
func check(e error) 
    if e != nil 
        panic(e)
    


f, err := os.Create("/tmp/f2")
check(err)

// 打开文件后,defer 关闭文件属于常规做法
defer f.Close()

d2 := []byte1, 222, 66, 88, 10, 102
n2, err := f.Write(d2)
check(err)
printf("wrote %d bytes\\n", n2)

n3, err := f.WriteString("gop is go+\\n")
check(err)
printf("wrote %d bytes\\n", n3)

// 保证文件内容存入磁盘
f.Sync()

执行结果:

wrote 6 bytes
wrote 11 bytes

亲自试一试!

利用 bufio 包写入文件

bufio 包也提供了缓冲写卡器,可以用来写文件,示例代码如下:

import (
    "bufio"
    "os"
)
func check(e error) 
    if e != nil 
        panic(e)
    


f, err := os.Create("/tmp/f1")
check(err)

// 打开文件后,defer 关闭文件属于常规做法
defer f.Close()

w := bufio.NewWriter(f)
n4, err := w.WriteString("use bufio package write data\\n")
check(err)
printf("wrote %d bytes\\n", n4)

// 保证缓存数据生效
w.Flush()

执行结果:

wrote 29 bytes

亲自试一试!

 

以上是关于Go+ 写文件方法教程(4.15)的主要内容,如果未能解决你的问题,请参考以下文章

游戏开发实战用Go语言写一个服务器,实现与Unity客户端通信(Golang | Unity | Socket | 通信 | 教程 | 附工程源码)

游戏开发实战用Go语言写一个服务器,实现与Unity客户端通信(Golang | Unity | Socket | 通信 | 教程 | 附工程源码)

写操作费用[Go lang]

[读入输出优化]4.15正确的打开方式

Go+ 读文件方法教程(4.14)

Go+ 文件路径创建和解析教程(4.17)