登录
首页 >  Golang >  Go问答

Go中字符串切片的最大长度

来源:stackoverflow

时间:2024-03-01 08:00:16 363浏览 收藏

来到golang学习网的大家,相信都是编程学习爱好者,希望在这里学习Golang相关编程知识。下面本篇文章就来带大家聊聊《Go中字符串切片的最大长度》,介绍一下,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

我想输入 200000 个空格分隔的任意数字字符串。使用 bufio.reader 获取输入时,只需要其中的几个。这是代码:

package main

import (
    "bufio"
    "fmt"
    "io"
    "os"
    "strings"
)

func main() {
    reader := bufio.NewReaderSize(os.Stdin, 1024*1024)
    scoresTemp := strings.Split(readLine(reader), " ")
    fmt.Println(scoresTemp)
    fmt.Println("---")
    fmt.Println(len(scoresTemp))
}

func readLine(reader *bufio.Reader) string {
    str, _, err := reader.ReadLine()
    if err == io.EOF {
        return ""
    }

    return strings.TrimRight(string(str), "\r\n")
}

切片长度应为 200000,但只需要 410 个项目。如果我增加阅读器的大小,情况会是一样的。 go 中字符串切片的最大大小是多少?如何处理它?

解决方案


我相信您的输入有问题,而不是 go 代码有问题。我在本地计算机上尝试了您的代码并得到了以下结果:

$ for((i=0;i<200000;i++)) do echo -n "x "; done | go run main.go
...
---
200001

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《Go中字符串切片的最大长度》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>