无法读取Go中大于1024个字符的输入

无法读取Go中大于1024个字符的输入,go,Go,我正在使用fmt.Scanf读取Golang中的字符串输入。但是当我们传入一个大的输入(>1024个字符)时,命令会暂停。我正在使用Go版本go1.8.3 darwin/amd64 这是密码 package main import "fmt" func main() { var s string fmt.Scanf("%s", &s) fmt.Println(s) } 这是失效的有效载荷 Go似乎在标记1024个字符的有效负载中接收输入直到Jy。那么1024

我正在使用
fmt.Scanf
读取Golang中的字符串输入。但是当我们传入一个大的输入(>1024个字符)时,命令会暂停。我正在使用Go版本
go1.8.3 darwin/amd64

这是密码

package main

import "fmt"

func main() {
    var s string
    fmt.Scanf("%s", &s)
    fmt.Println(s)
}
这是失效的有效载荷

Go似乎在标记1024个字符的有效负载中接收输入直到Jy。那么1024是一个极限还是什么

PS-我已经在那个链接上篡改了编码的cookie,所以不用担心

这不是软件包的限制,或者,本例正确扫描超过3KB的数据:

// src is a looooong text (>3KB)

var s string
fmt.Println(len(src))
fmt.Sscanf(src, "%s", &s)
fmt.Println(len(s))
试穿一下


这很可能是终端的限制。我还尝试了你的未修改版本,粘贴了超过10KB的文本,结果是4096字节(Ubuntu linux 16.04,Bash)。

我觉得还可以吗?我认为游乐场的运行方式与它通常的运行方式不同。我想是跳过了。该示例仅将大文本分配给
s
并打印,因此它是不同的。谢谢@icza。这似乎是正确的答案。