zoukankan      html  css  js  c++  java
  • 95_Go基础_1_63 bufio

     1 package main
     2 
     3 import (
     4     "bufio"
     5     "fmt"
     6     "os"
     7 )
     8 
     9 func main() {
    10     /*
    11         bufio:高效io读写
    12             buffer缓存
    13             io:input/output
    14 
    15         将io包下的Reader,Write对象进行包装,带缓存的包装,提高读写的效率
    16 
    17             ReadBytes()
    18             ReadString()
    19             ReadLine()
    20     */
    21 
    22     fileName := "D:\\Go\\web2\\aa.txt"
    23     file, err := os.Open(fileName)
    24     if err != nil {
    25         fmt.Println(err)
    26         return
    27     }
    28     defer file.Close()
    29 
    30     // 创建Reader对象
    31     b1 := bufio.NewReader(file)
    32 
    33     // 1.Read(),高效读取
    34     // p := make([]byte, 1024)
    35     // n1, err := b1.Read(p)
    36     // fmt.Println(n1)
    37     // fmt.Println(string(p[:n1]))
    38 
    39     // 2.ReadLine()
    40     // data, flag, err := b1.ReadLine()
    41     // fmt.Println(flag)         // false
    42     // fmt.Println(err)          // <nil>
    43     // fmt.Println(data)         // [97 98 99 100 ...
    44     // fmt.Println(string(data)) // abcdefghijklmnopqrstuvwxyzabab
    45 
    46     // 3.ReadString()
    47     // s1, err := b1.ReadString('\n')
    48     // fmt.Println(err)
    49     // fmt.Println(s1) // aaa
    50 
    51     // s1, err = b1.ReadString('\n')
    52     // fmt.Println(err)
    53     // fmt.Println(s1) // bbb
    54 
    55     // s1, err = b1.ReadString('\n')
    56     // fmt.Println(err)
    57     // fmt.Println(s1) // ccc
    58 
    59     // for {
    60     //     s1, err := b1.ReadString('\n')
    61     //     if err == io.EOF {
    62     //         fmt.Println("读取完毕。。")
    63     //         break
    64     //     }
    65     //     fmt.Println(s1) // ddd
    66     // }
    67 
    68     //4.ReadBytes()
    69     data, err := b1.ReadBytes('\n')
    70     fmt.Println(err)
    71     fmt.Println(string(data)) // aaa
    72 
    73     // Scanner
    74     // s2 := ""
    75     // fmt.Scanln(&s2) // 此时需要用户输入
    76     // fmt.Println(s2)
    77 
    78     b2 := bufio.NewReader(os.Stdin) // 此时需要用户输入
    79     s2, _ := b2.ReadString('\n')    // 遇到换行停止接收用户输入
    80     fmt.Println(s2)
    81 
    82 }
  • 相关阅读:
    利用观察者模式 进行不同页面的传值
    axios请求处理
    百度地图实现鼠标绘制图形并获取相关数据
    web前端支付功能
    各种好用插件汇总(持续更新...)
    记录iview表单校验的"坑"
    JavaScript字符串方法
    2020面试汇总
    JavaScript作用域
    JavaScript原型到原型链
  • 原文地址:https://www.cnblogs.com/luwei0915/p/15661546.html
Copyright © 2011-2022 走看看