删除切片中的未分配(零值)

时间:2014-09-27 00:21:53

标签: go

如何删除所有零值或未分配的值?

这里将堆栈跟踪放入切片中。如何删除所有未分配的(零值)?

是否有一些奇特的功能来切片。像字符串的子串一样

trace := make([]byte, 1024)
runtime.Stack(trace, true)

1 个答案:

答案 0 :(得分:1)

使用slice expression修剪堆栈缓冲区的未使用部分。 Stack函数方便地返回写入缓冲区的字节数。

    trace := make([]byte, 1024)
    n := runtime.Stack(trace, true)
    trace = trace[:n]

playground link