Is this error essential?
On Saturday, February 27, 2021 at 11:00:26 PM UTC-5 tapi...@gmail.com wrote:1.func String2ByteSlice(s string) []byte {
return (*[^uint(0) >> 1]byte)(unsafe.Pointer(&s))[:len(s):len(s)]
}2.func String2ByteSlice(s string) []byte {
return *(*[]byte)(unsafe.Pointer(&struct{string; int}{s, len(s)}))
}
--
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...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/411f0d80-eb3c-4737-94cf-1f4dd73e1678n%40googlegroups.com.
On Sat, Feb 27, 2021 at 8:00 PM tapi...@gmail.com <tapi...@gmail.com> wrote:
>
> 1.
>
> func String2ByteSlice(s string) []byte {
> return (*[^uint(0) >> 1]byte)(unsafe.Pointer(&s))[:len(s):len(s)]
> }
This doesn't do what you probably want, as &s is not the address of
the bytes in the string.
> 2.
>
> func String2ByteSlice(s string) []byte {
> return *(*[]byte)(unsafe.Pointer(&struct{string; int}{s, len(s)}))
> }
This is more likely to work but it's not safe.
Ian