无法将切片附加到现有切片

时间:2019-07-05 20:41:46

标签: go

我下面的目标是返回一片切片,以便稍后可以在主函数中对其进行迭代。

当前行为是,当我在fmt.PrintLn(test)打印时,“测试”变量将显示切片中的每一行,但是在fmt.PrintLn(showParsed)打印时,“已分析”变量为空。我该如何解决?

func lsCommand(outString string) []string {
    scanner := bufio.NewScanner(strings.NewReader(outString))
    var parsed []string
    for scanner.Scan() {
        s := scanner.Text()
        ss := strings.Fields(s)
        test := append(parsed, ss...)
        fmt.Println(test)
    }
    return parsed
}

func main() {
    ctx := context.Background()
    ok, outString, errString := runBashCommandAndKillIfTooSlow(ctx, "ls", 2000*time.Millisecond)
    if ok != true {
        panic(errString)
    }

    showParsed := lsCommand(outString)
    fmt.Println(showParsed)
}

1 个答案:

答案 0 :(得分:1)

append isn't guaranteed来修改传递给它的切片,因此SimpleDateFormat不变。仅parsed包含test的元素。在每次迭代中使用返回值:

ss