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

 

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)

猜你喜欢

转载自blog.csdn.net/cbmljs/article/details/82428380