编程 go(Go语言编程从入门到精通)

go处理文件

1. ioutil读写文件

(1)读文件

编程 go(Go语言编程从入门到精通)(1)

2行代码就完成了文件的读取并显示。

9行:使用ioutil.ReadFile读取"demo1.txt"文件,文件名要求是字符串类型,返回值有2个,第1个是字节集类型结果,第二个是返回的错误结果,没有错误返回nil。

10行:将字节集转换成字符串,并输出控制台结果。

(2)创建文件,并写入内容

创建文件就要了解一下文件权限。

编程 go(Go语言编程从入门到精通)(2)

下面举个示例

编程 go(Go语言编程从入门到精通)(3)

8行:创建字节集内容,并赋给变量bytes

9行:ioutil.WriteFile(),作用写文件,有2个参数,第一个参数是文件名,string类型,第二个是内容,字节集类型,第三个是文件权限,fs.FileMode类型,通常用数字类型代替,返回值是error类型。

(3)列出目录内容

编程 go(Go语言编程从入门到精通)(4)

执行结果

编程 go(Go语言编程从入门到精通)(5)

通过示例可以看出,infos, _ := ioutil.ReadDir("./"), ioutil.ReadDir提供了读取目录的功能,参数只有1个,就是目录名,类型是string,返回值有2个,第一个是[]fs.FileInfo类型,第2个是error类型。

每个fs.FileInfo都有6个方法。

info.Name(), 文件名

info.Size(), 文件的大小

info.Mode(), 文件权限

info.ModTime(), 文件修改时间

info.IsDir(), 是否是目录

info.Sys(), 数据源

(4)文件内容的复制

编程 go(Go语言编程从入门到精通)(6)

9行、10行:分别打开原文件src、dst,OpenFile有3个参数,第1个是文件名,类型是string,第2个是文件标志,指定读写、追加、创建等功能,第3个功能是设置权限。返回值有2个,第1个是文件类型*File,第2个是error类型。

15行:io.Copy(dst,src)。Copy有2个参数,第1个是目标,类型是Writer,第2个是原文件,类型是Reader。

执行前如下

编程 go(Go语言编程从入门到精通)(7)

执行后:

编程 go(Go语言编程从入门到精通)(8)

(5)删除文件

编程 go(Go语言编程从入门到精通)(9)

Remove函数有1个参数,就是文件名,类型是string,返回值的类型是error,删除成功返回nil。

执行结果如下:

编程 go(Go语言编程从入门到精通)(10)

(6)读取JSON文件

编程 go(Go语言编程从入门到精通)(11)

17行: ioutil.ReadFile(),读取文件内容,参数为文件名,类型为string,返回值有2个,第一个是结果的字节集,第二个的类型是error。

18行:json.Unmarshal,解码json文件,有2个参数,第1个是需要解码的字节集,类型是[]byte,第2个参数是传递的目标,这里用指针类型。返回值的类型是error。

执行结果如下:

编程 go(Go语言编程从入门到精通)(12)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页