• go bufio和fmt.Scanf()用法


    读取文本

    package main
    
    import (
    	"bufio"
    	"fmt"
    	"io"
    	"os"
    )
    
    // bufio是对文件读取file.Read(buf[:])的进一步封装,先从buf中读取,没有的话,再从文件读,
    
    
    func main(){
    	// 只读的方式打开 
    	file,err := os.Open("./buf.go")
    	if err != nil{
    		fmt.Println("open file failed,err:",err)
    		return
    	}
    	defer file.Close()
    	reader := bufio.NewReader(file) // 他接受的io.Reader接口,但是file实现了那个接口,也可以当参数
    	for {
    		line,err := reader.ReadString('\n') // 按照换行符"\n"读取到"\n"为止, 读取每一行
    		if err == io.EOF {
    			break
    		}
    		if err != nil{
    			fmt.Println("read file failed ,err:",err)
    			return 
    		}
    		fmt.Println(line)	
    	}
    }
    

    读取输入

    package main
    
    import (
    	"bufio"
    	"fmt"
    	"os"
    )
    
    func main(){
    	var str string
    	// Scanf 默认是以空格为分隔符的,要读取输入的this is a book  ,只会读取this
    	fmt.Scanf("%s",&str)
    	fmt.Println(str)
    
    	reader := bufio.NewReader(os.Stdin)
    	str, _ = reader.ReadString('\n')  // 以换行符结尾,能读取一行带空格的字符串
    	fmt.Println("read from bufio:",str)
    }
    
  • 相关阅读:
    dubbo官方文档笔记
    maven权威指南读书笔记
    ArrayList实现
    通过json把int[]转成Integer[]
    二分查找,希尔排序,欧几里得,斐波那契
    js快捷键设置
    java字符串和时间转换
    希尔排序动画
    vue render
    前端性能优化,算法
  • 原文地址:https://www.cnblogs.com/heris/p/16094907.html
Copyright © 2020-2023  润新知