• go 基本IO接口


    package main
    
    import (
    	"fmt"
    	"io"
    	"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 sampleReaderFromString() {
    	data, _ := ReadFrom(strings.NewReader("from string"), 12)
    	fmt.Println(data)
    }
    
    func main() {
    	sampleReaderFromString()
    }
    

      输出:

    [102 114 111 109 32 115 116 114 105 110 103]

    package main
    
    import (
    	"fmt"
    	"io"
    	"os"
    	"strings"
    )
    
    func sampleReadFile() {
    	file, _ := os.Open("main.go")
    	defer file.Close()
    
    	data, _ := ReadFrom(file, 20)
    	fmt.Println(string(data))
    }
    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 sampleReadStdin() {
    	fmt.Println("please input from stdin:")
    	data, _ := ReadFrom(os.Stdin, 11)
    	fmt.Println(data)
    }
    func sampleReaderFromString() {
    	data, _ := ReadFrom(strings.NewReader("from string"), 12)
    	fmt.Println(data)
    }
    
    func main() {
    	//sampleReaderFromString()
    	//ampleReadStdin()
    	sampleReadFile()
    }
    

      

     输出:

    package main

    import

  • 相关阅读:
    配置IVR实现语音
    建立SIP通话
    安装FreePBX的ISO版本
    Redis在linux环境下的安装
    上传文件漏洞
    忘记密码漏洞
    常见Web安全漏洞--------CSRF
    Api接口幂等设计
    常见Web安全漏洞--------防盗链
    常见Web安全漏洞--------sql注入
  • 原文地址:https://www.cnblogs.com/saryli/p/11063334.html
Copyright © 2020-2023  润新知