IO讀取

本篇演示從IO中讀取內容,包括從字符串、終端以及磁盤文件讀取內容

package main

import (
	"fmt"
	"io"
	"os"
	"strings"
)

func ReadFrom(reader io.Reader, num int) ([]byte, error) {
	p := make([]byte, num)
	n, err := reader.Read(p)
	if n > 0 {
		return p[:n], nil
	}
	return p, err
}

/*從字符串中讀取內容*/
func ReadFromString() {
	reader := strings.NewReader("ReadFromString is executing...")
	data, err := ReadFrom(reader, 27)
	if err == nil {
		fmt.Println(string(data))		//輸出:ReadFromString is executing
	}
}

/*從命令行中讀取內容*/
func ReadFromStdin() {
	fmt.Println("please input:")		//輸入:hello world
	data, err := ReadFrom(os.Stdin, 10)
	if err == nil {
		fmt.Println(string(data))			//輸出:hello worl
	}
}

/*從文件中讀取內容*/
func ReadFromFile() {
	file, _ := os.Open("d:/test.txt")
	data, err := ReadFrom(file, 10)
	if err == nil {
		fmt.Println(string(data))	//輸出:hello worl
	}
}

func main()  {
	ReadFromString()
	ReadFromStdin()
	ReadFromFile()
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章