Go语言学习笔记--读写数据

本文详细介绍了使用Go语言进行各种IO操作的方法,包括文件拷贝、命令行参数读取、flag包的使用、文件的读写操作及缓冲读取等。此外还涉及了如何处理压缩文件和标准输入输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

0666)

  • 文件拷贝
    • 拷贝一个文件到另外一个文件,使用io包
    • src, err := os.Open(srcName)
    • dst, err := os.OpenFile(dstName, os.O_WRONLY|os.O_CREATE, 0644)
    • io.Copy(dst, src)
  • 从命令行读取参数
    • os包总有一个string类型的切片变量os.Args,用来存放命令行参数
    • os.Args[1:]
  • flag包
    • flag包有一个扩展功能,用来解析命令行选项。类似python的argparse
  • outputWriter := bufio.NewWriter(outputFile)
  • outputWriter.WriteString(outputString)
  • compress包:读取压缩文件
    • 支持格式bzip、flate、gzip、lzw和zlib
    • fz, err := gzip.NewReader(fi)
  • 写文件
    • outputFile, outputError := os.OpenFile("output.dat", os.O_WRONLY|os.O_CREATE,
  • 键盘输入
    • os.Stdin/os.Stout/os.Stderr
    • fmt.Scan:臊面来自标准输入的文本
    • fmt.sscan:从字符串中读取
  • 缓冲读取:bufio
    • inputReader := bufio.NewReader(os.Stdin)
    • Input, err = inputReader.ReadString('\n')
  • 文件读写
    • 文件句柄:os.File、os.Stdin、os.Stdout(os.Open()之后生成文件句柄)
    • inputFile, inputError := os.Open("input.dat")
    • 文件结束符:if readerError == io.EOF { 。。。}
    • 将整个文件的内容读到一个字符串量
      • Io/ioutil: ioutil.ReadFile()
    • 带缓冲的读取:
      • 文件内容不安航划分,或者是二进制文件,不能用ReadString(),直接用bufio.Reader的Read()
      • inputReader.Read(buf)
    • 按列读取文件中的数据
      • 数据是按列排列并用空格分隔的。
      • 使用fmt提供的FScan系列读取
      • fmt.Fscanln(file, &v1, &v2, &v3)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值