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.

Reply via email to