(转) Golang命令行通道

声明:内容源自网络,版权归原作者所有。若有侵权请在网页聊天中联系我

从命令行获取信息,例如 ls | 我的程序.exe

package main

import (
	"fmt"
	"io/ioutil"
	"os"
)

func OnError(e error) {
	if e != nil {
		fmt.Println(e)
	}
}

func main() {
	info, err := os.Stdin.Stat()
	OnError(err)
	if (info.Mode() & os.ModeNamedPipe) == os.ModeNamedPipe {
		bytes, err := ioutil.ReadAll(os.Stdin)
		OnError(err)
		fmt.Println(string(bytes))
	}
}

相关文章