前端之家收集整理的这篇文章主要介绍了
golang讲解(go语言)标准库分析之io.ioutil,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
http://www.widuu.com/archives/12/906.html
今天我们讲解的是golang标准库里边的io/IoUtil包–也就是
package io/IoUtil
1.
IoUtil.ReadDir(dirname string)
这个函数的原型是这样的
func ReadDir(dirname string) ([]os.FileInfo,error)
不难看出输入的是dirname类型是string类型的 譬如”d:/go”,然会是一个FileInfo的切片,其中FileInfo的结构是这样的
1 |
type FileInfo interface { |
所以说返回的切片可以执行FileInfo的方法,另外一个参数是什么呢?error是否成功返回!这个时候我们就能做一下实验代码是这样的一个demo
01
import"fmt" |
05 |
dir_list,e := IoUtil.ReadDir("d:/test" ) |
07 |
fmt.Println("read dir error" 08 |
return |
10 |
for i,v := range dir_list { |
11 |
fmt.Println(i,"=" ,v.Name()) |
12 |
fmt.Println(v.Name(),255)!important; border:0px!important; margin:0px!important; outline:0px!important; float:none!important; vertical-align:baseline!important; position:static!important; left:auto!important; top:auto!important; right:auto!important; bottom:auto!important; height:auto!important; width:auto!important; line-height:1.1em!important; direction:ltr!important; display:inline!important; background:none!important">"的权限是:"
13 |
"文件大小:"
14 |
"创建时间"
15 |
"系统信息"
21 |
2.讲解的是IoUtil.ReadFile(filename string) 函数的原型是func ReadFile(filename string) ([]byte,error) 输入的是string类型,返回的是字节型切片和一个err这个很简单我们坐下代码demo
import ( |
data,err := IoUtil.ReadFile("D:/test/widua.go" ) |
fmt.Println(string(data)) |
3.第三个我们讲解的是IoUtil.ReadAll() 函数的原型是func ReadAll(r io.Reader) ([]byte,error) 输入的是一个io.Reader元读取器返回的是[]byte字节切片和error
"reflect" |
reader := strings.NewReader("hello word widuu" ) |
fmt.Println(reflect.TypeOf(reader)) |
fmt.Println(string(data)) |
4.第四个是IoUtil.NopCloser()函数原型是 func NopCloser(r io.Reader) io.ReadCloser 还是一个Reader 然后返回的是ReadCloser接口,提供的是Close方法,上边方法完善后的demo
r := IoUtil.NopCloser(reader) |
5.第五个是常见临时目录IoUtil.TempDir() 函数原型是func TempDir(dir,prefix string) (name string,err error) 输入目录名称,前缀,返回的name是prefix+随机数字
dir,err := IoUtil.TempDir( "D:/test" "tmp" err != nil { |
"常见临时目录失败"fmt.Println(dir) |
6.最后一个既然能创建目录就能创建文件IoUtil.TempFile() 函数原型是func TempFile(dir,prefix string) (f *os.File,err error) 输入目录名称,前缀,返回的是文件的指针和error
file,error := IoUtil.TempFile( defer file.Close() |
file.WriteString("Hello word" //利用file指针的WriteString()详情见os.WriteString() |
filedata,_ := IoUtil.ReadFile(file.Name()) |
fmt.Println(string(filedata)) |
原文链接:https://www.f2er.com/go/190418.html
| | | |