go slice deep dive
Goが、というよりはメモリ上アドレスがどうなっているのかあたりが詳しく知れる code:main.go
fmt.Println(slice, len(slice), cap(slice))
println("array:", &array)
println("slice:", slice, len(slice), cap(slice))
// array: 0xc00004873a
// slice: 2/50xc00004873b 2 5 https://gyazo.com/146d5d00a8103ac3935f284fda06c196https://gyazo.com/0724010c74a5029e7329b83c1de62a33
zerobase addressって言い方初めて聞いた
code:main.go
var a struct{}
unsafe.SliceData([]int{})
// いずれも同じアドレスを指す
capを越えて追加された場合
https://gyazo.com/35cf81ede846c337144665153bf02b63https://gyazo.com/7d229c32078dac22db194cd0f9c23d24