编程 go(Go语言编程从入门到精通)
go处理文件
1. ioutil读写文件
(1)读文件
2行代码就完成了文件的读取并显示。
9行:使用ioutil.ReadFile读取"demo1.txt"文件,文件名要求是字符串类型,返回值有2个,第1个是字节集类型结果,第二个是返回的错误结果,没有错误返回nil。
10行:将字节集转换成字符串,并输出控制台结果。
(2)创建文件,并写入内容
创建文件就要了解一下文件权限。
下面举个示例
8行:创建字节集内容,并赋给变量bytes
9行:ioutil.WriteFile(),作用写文件,有2个参数,第一个参数是文件名,string类型,第二个是内容,字节集类型,第三个是文件权限,fs.FileMode类型,通常用数字类型代替,返回值是error类型。
(3)列出目录内容
执行结果
通过示例可以看出,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)文件内容的复制
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。
执行前如下
执行后:
(5)删除文件
Remove函数有1个参数,就是文件名,类型是string,返回值的类型是error,删除成功返回nil。
执行结果如下:
(6)读取JSON文件
17行: ioutil.ReadFile(),读取文件内容,参数为文件名,类型为string,返回值有2个,第一个是结果的字节集,第二个的类型是error。
18行:json.Unmarshal,解码json文件,有2个参数,第1个是需要解码的字节集,类型是[]byte,第2个参数是传递的目标,这里用指针类型。返回值的类型是error。
执行结果如下:
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com