Goでスライスをどのようにクリアしますか?
Goでスライスをクリアする適切な方法は何ですか? これが私がgoフォーラムで見つけたものです: // test.go package main import ( "fmt" ) func main() { letters := []string{"a", "b", "c", "d"} fmt.Println(cap(letters)) fmt.Println(len(letters)) // clear the slice letters = letters[:0] fmt.Println(cap(letters)) fmt.Println(len(letters)) } これは正しいです? 明確にするために、バッファをクリアして再利用できるようにします。 例は、bytesパッケージのBuffer.Truncate関数です。 ResetはTruncate(0)を呼び出すだけであることに注意してください。したがって、この場合、70行目は次のように評価されます。b.buf= b.buf [0:0] http://golang.org/src/pkg/bytes/buffer.go // Truncate discards all but the first n unread bytes from the …