网站首页 > 基础教程 正文
一.文件的相关知识点小结
1.文件操作
文件操作基本上都是以流的形式进行操作,如输入流(文件读取操作),输出流(文件写操作)
在go中有os模块里有文件操作的相关函数
2.打开文件和关闭文件
#打开文件,返回一个文件句柄,
os.Open(name string)(file *File,err error)
#关闭文件
os.Close(f *file)error
3.读取文件
- 案例1:读取文件里的内容
- 一次性将文件读取到内存中,这种情况只适于文件不大的情况
contents,err :=ioutil.ReadFile("D:\\go_code\\src\\demo\\main\\test.txt")//这个函数返回的是byte类型,输出需要转化成string,要不就输出的对应的ascii码了
if err !=nil{
fmt.Println("读取失败",err)
}
fmt.Println(string(contents))
4. 写文件操作
写操作函数
os.OpenFile(name string,flag int ,perm FileMode) (file *File,err error)
#参数说明
name 文件名
flag 文件打开方式,只读,只写,读写,追加等
perm 权限
#返回类型文件指针类型,
5.判断文件是否存在
使用os.Stat可以判断文件是否存在,如果返回的错误类型为nil,说明文件或文件夹存在,
如果返回的错误类型使用os.IsNotExist()判断为真,则说明不存在,如果返回的其他类型,
则不确定是否存在;当然也可以使用os.IsExist()来判断,如果为false,则不存在
6命令行参数
命令行参数获取:
1. 可以通过os.Args来获取
2. 可以使用flag包来解析命令行参数
二.json的基本操作
json操作比较简单,使用json包就可以操作
#对于结构体的序列化,如果我们希望序列化后的key的名字自己定义,可以利用的tag的反向机制来实现
- 转成json
- json解析
在反序列化的时候,只要注意一点就可以,反序列化后的数据类型与序列化前的数据类型一致就可以了,
这里有个注意点是,在反序列化map时,是不需要make的,因为make操作,
被封装到了Unmarshal函数中了
猜你喜欢
- 2024-11-26 golang defer、panic、recover实践
- 2024-11-26 go-fastdfs文件上传
- 2024-11-26 OpenHarmony3.0在树莓派3B上的烧录与通讯
- 2024-11-26 go|bytes.buffer
- 2024-11-26 AOVX资产跟踪产品测试工具mPower1203如何使用python对接 (二)
- 2024-11-26 Python os.dup2() 方法是什么?os.du
- 2024-11-26 python3从零学习-5.8.4、mmap—内存映射文件支持
- 2024-11-26 29.Python 读取文件的六种方式
- 2024-11-26 macOS安装并设置五笔输入法
- 2024-11-26 树莓派3B上烧录OpenHarmony3.0
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)