slice-analyzer
Написал крошечный пакет для печати внутренней структуры слайса
https://github.com/rostislaved/slice-analyzer
package main
import (
sliceanalyzer "github.com/rostislaved/slice-analyzer"
)
func main() {
s1 := []int{1, 2, 3}
sliceanalyzer.Print(s1, "s1")
s2 := append(s1, 4, 5)
sliceanalyzer.Print(s2, "s2")
s3 := s2[1:4]
sliceanalyzer.Print(s3, "s3")
}
[s1]
┌───────┬───┬───┬───┐
│ slice │ 1 │ 2 │ 3 │
│ array │ 1 │ 2 │ 3 │
│ index │ 0 │ 1 │ 2 │
└───────┴───┴───┴───┘
┌─────────────┬──────────────┐
│ pointer │ 0xc00001a108 │
│ pointer dec │ 824633827592 │
│ len │ 3 │
│ cap │ 3 │
└─────────────┴──────────────┘
[s2]
┌───────┬───┬───┬───┬───┬───┬───┐
│ slice │ 1 │ 2 │ 3 │ 4 │ 5 │ ▒ │
│ array │ 1 │ 2 │ 3 │ 4 │ 5 │ 0 │
│ index │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │
└───────┴───┴───┴───┴───┴───┴───┘
┌─────────────┬──────────────┐
│ pointer │ 0xc0000221b0 │
│ pointer dec │ 824633860528 │
│ len │ 5 │
│ cap │ 6 │
└─────────────┴──────────────┘
[s3]
┌───────┬───┬───┬───┬───┬───┐
│ slice │ 2 │ 3 │ 4 │ ▒ │ ▒ │
│ array │ 2 │ 3 │ 4 │ 5 │ 0 │
│ index │ 0 │ 1 │ 2 │ 3 │ 4 │
└───────┴───┴───┴───┴───┴───┘
┌─────────────┬──────────────┐
│ pointer │ 0xc0000221b8 │
│ pointer dec │ 824633860536 │
│ len │ 3 │
│ cap │ 5 │
└─────────────┴──────────────┘
Написал крошечный пакет для печати внутренней структуры слайса
https://github.com/rostislaved/slice-analyzer
package main
import (
sliceanalyzer "github.com/rostislaved/slice-analyzer"
)
func main() {
s1 := []int{1, 2, 3}
sliceanalyzer.Print(s1, "s1")
s2 := append(s1, 4, 5)
sliceanalyzer.Print(s2, "s2")
s3 := s2[1:4]
sliceanalyzer.Print(s3, "s3")
}
[s1]
┌───────┬───┬───┬───┐
│ slice │ 1 │ 2 │ 3 │
│ array │ 1 │ 2 │ 3 │
│ index │ 0 │ 1 │ 2 │
└───────┴───┴───┴───┘
┌─────────────┬──────────────┐
│ pointer │ 0xc00001a108 │
│ pointer dec │ 824633827592 │
│ len │ 3 │
│ cap │ 3 │
└─────────────┴──────────────┘
[s2]
┌───────┬───┬───┬───┬───┬───┬───┐
│ slice │ 1 │ 2 │ 3 │ 4 │ 5 │ ▒ │
│ array │ 1 │ 2 │ 3 │ 4 │ 5 │ 0 │
│ index │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │
└───────┴───┴───┴───┴───┴───┴───┘
┌─────────────┬──────────────┐
│ pointer │ 0xc0000221b0 │
│ pointer dec │ 824633860528 │
│ len │ 5 │
│ cap │ 6 │
└─────────────┴──────────────┘
[s3]
┌───────┬───┬───┬───┬───┬───┐
│ slice │ 2 │ 3 │ 4 │ ▒ │ ▒ │
│ array │ 2 │ 3 │ 4 │ 5 │ 0 │
│ index │ 0 │ 1 │ 2 │ 3 │ 4 │
└───────┴───┴───┴───┴───┴───┘
┌─────────────┬──────────────┐
│ pointer │ 0xc0000221b8 │
│ pointer dec │ 824633860536 │
│ len │ 3 │
│ cap │ 5 │
└─────────────┴──────────────┘