问题描述
如题,控制台传值时,通过go run直接运行的时候可以完全获取到传入的命令行参数值,但是通过go build构建成应用之后每行仅能传入1024个字符,多出的部分会被截取掉
问题出现的环境背景及自己尝试过哪些方法
尝试过更改接收方式,NewScanner()
,NewReader()
, NewReaderSize()
均用了无果,且百度谷歌无相关解决方案
相关代码
fmt.Println("请输入你的cookie信息:")
reader := bufio.NewReaderSize(os.Stdin, 4 * 1024)
for {
cookieValue, err := reader.ReadString('\n')
if err != nil {
fmt.Println("参数传入错误,请重试:", err)
}
if cookieValue == "\n" {
log.Println("参数不能为空")
} else {
fmt.Println(cookieValue)
break
}
}
你期待的结果是什么?实际看到的错误信息又是什么?
求排查原因,使stdin输入参数时可突破单行1024字符的限制