首页 > 其他分享 >Go入坑 io读写

Go入坑 io读写

时间:2022-10-14 11:58:48浏览次数:33  
标签:file err os fmt Println io bs Go 入坑

io读写:

  1,打开文件

  2,进行操作

  3,关闭文件

io读:(ps: 示例切片长度小,读取汉字的话,有时候会出现乱码,一般定义为1024的倍数)

 1 package main
 2 
 3 import (
 4     "fmt"
 5     "io"
 6     "os"
 7 )
 8 
 9 func main() {
10     filename1 := "C:\\Users\\fcl18\\Desktop\\发言.txt"
11     file, err := os.Open(filename1)
12     if err != nil {
13         fmt.Println("err", err)
14         return
15     }
16     // 关闭文件
17     defer file.Close()
18 
19     //读取数据
20     //创建长度为4容量为4的切片
21     bs := make([]byte, 4, 4)
22     /*
23         //第一次读取
24         n, err := file.Read(bs)
25         fmt.Println(err)
26         fmt.Println(n)
27         fmt.Println(bs)
28         fmt.Println(string(bs))
29         //第二次读取
30         n2, err2 := file.Read(bs)
31         fmt.Println(err2)
32         fmt.Println(n2)
33         fmt.Println(bs)
34         fmt.Println(string(bs))
35     */
36 
37     n := -1
38     for {
39         n, err = file.Read(bs)
40         if n == 0 || err == io.EOF {
41             fmt.Println("读取完毕")
42             break
43         }
44         fmt.Println(string(bs[:n]))
45     }
46 }

io写:

 1 package main
 2 
 3 import (
 4     "fmt"
 5     "log"
 6     "os"
 7 )
 8 
 9 func main() {
10     filename1 := "C:\\Users\\fcl18\\Desktop\\ab.txt"
11     // 没有文件的话自动创建文件
12     // os.O_APPEND每次都从最后写入文件,不加的话每次都会从开头写,已有数据的话会被覆盖
13     file, err := os.OpenFile(filename1, os.O_CREATE|os.O_WRONLY|os.O_APPEND, os.ModePerm)
14     if err != nil {
15         fmt.Println("err", err)
16         return
17     }
18     // 关闭文件
19     defer file.Close()
20 
21     //写出数据  每次都是从开头写
22     bs := []byte{65, 66, 67, 68, 69, 70} //ABCDEF
23     n, err := file.Write(bs)
24     fmt.Println(n)
25     HandleErr(err)
26 
27     // 直接写字符串
28     n1, err1 := file.WriteString("Hello World")
29     fmt.Println(n1)
30     HandleErr(err1)
31 }
32 
33 func HandleErr(err error) {
34     if err != nil {
35         log.Fatal(err)
36     }
37 }

 

凑字数

凑字数凑字数

凑字数凑字数凑字数

凑字数凑字数凑字数凑字数

标签:file,err,os,fmt,Println,io,bs,Go,入坑
From: https://www.cnblogs.com/zlnfcl/p/16791138.html

相关文章

  • php 中 session存储
    转载网址:https://blog.csdn.net/miliu123456/article/details/107048378/php中session更换存储方式(file,redis,mysql)在当前php的配置文件中修改 查看当前......
  • Python爬虫之mongodb的聚合操作
    mongodb的聚合操作学习目标了解mongodb的聚合原理掌握mongdb的管道命令掌握mongdb的表达式1mongodb的聚合是什么聚合(aggregate)是基于数据处理的聚合管道,每个文档通过......
  • Python爬虫之mongodb的索引操作
    Mongodb的索引操作学习目标掌握mongodb索引的创建,删除操作掌握mongodb查看索引的方法掌握mongodb创建唯一索引的方法1.为什么mongdb需要创建索引加快查询速度进行数据的......
  • 驱动开发:内核枚举IoTimer定时器
    今天继续分享内核枚举系列知识,这次我们来学习如何通过代码的方式枚举内核IoTimer定时器,内核定时器其实就是在内核中实现的时钟,该定时器的枚举非常简单,因为在IoInitializeTi......
  • 报错 ngx/re.lua:47: missing declaration for symbol 'ngx_http_lua_ffi_exec_regex'
    似乎是1.15.8.1会有这个问题讨论链接:https://github.com/openresty/lua-resty-core/issues/258详细可以查看链接。编译了好久没有成功,换成1.19.3.1没有问题......
  • 驱动开发:内核枚举IoTimer定时器
    今天继续分享内核枚举系列知识,这次我们来学习如何通过代码的方式枚举内核IoTimer定时器,内核定时器其实就是在内核中实现的时钟,该定时器的枚举非常简单,因为在IoInitializeTim......
  • IO多路复用
    同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的。所以先限定一下本文的上下文。本文讨论的背景是Linux环境下的net......
  • Session用法案例 -->实现简单购物车功能(实际项目可能不会这么使用)
    071201709091、session是在cookie的基础之上,利用cookie返回JSESSIONID(key[服务器随机生成])存在客户端实现,正真的数据存在服务端[key-value]。2、se......
  • axios取消请求
    AbortController从 v0.22.0 开始,Axios支持以fetchAPI方式—— AbortController 取消请求:constcontroller=newAbortController();axios.get('/foo/bar',{......
  • python重拾第十天-协程、异步IO
    本节内容Gevent协程Select\Poll\Epoll异步IO与事件驱动引子到目前为止,我们已经学了网络并发编程的2个套路,多进程,多线程,这哥俩的优势和劣势都非常的明显,我们一起来回......