gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 00:55:15 24 4
gpt4 key购买 nike

我正在使用 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)
}

这是失败的负载 https://pastebin.com/raw/fJ4QAZUZ

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

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

最佳答案

这不是fmt的限制包裹或fmt.Scanf() ,此示例正确扫描超过 3KB:

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

var s string
fmt.Println(len(src))
fmt.Sscanf(src, "%s", &s)
fmt.Println(len(s))

Go Playground 上试试

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

关于go - 无法在 Go 中读取大于 1024 个字符的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45084622/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com