That looks very weird. The panic is triggered if I uncomment line 17 (the final fmt.Printf) even though it never reaches there - it panics when getStrBytes is called from line 9 (in line 23).
On Thursday, 27 July 2023 at 13:12:40 UTC+1 Kyle Harrity wrote: > I first asked this on https://reddit.com/r/golang but the contribution > guide on github recommends this forum, so I'll post here before finally > raising an issue on github if this appears to be a real bug. > > ORIGINAL POST: > > I came across this issue in some code I was reviewing today where a string > is converted into a []byte and then a 32 byte slice is taken from that and > returned. It returns a 32 byte slice even if the string is empty or less > than 32 bytes in length as long as its not a string literal (comes from a > function or stored in variable). I can index the slice normally and iterate > over its elements, but attempting to print it with fmt.Printf causes a > runtime error where it realizes the capacity is not actually 32. Trying to > get a slice larger than 32 fails though smaller slices are okay. I think > that has something to do with the storage needed to describe a slice 8 > bytes for memory location, 8 bytes for size, 8 bytes for capacity, 8 for > padding as explained here: > https://stackoverflow.com/questions/67839752/why-does-an-empty-slice-have-24-bytes > > Here's a playground demo: https://play.golang.com/p/yiLPvRYq8PJ > > Maybe this is a known issue and or expected behavior so I thought I'd ask > here before raising an issue on github. > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/deff8771-ab58-43ee-b479-16c41d74582dn%40googlegroups.com.