On Sunday, February 28, 2021 at 8:29:51 AM UTC-5 Ian Lance Taylor wrote:

> 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. 

 
Aha, I forgot this point.


> > 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. 
>

Why? For slice field order is undefined?
 

>
> Ian 
>

-- 
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/4b958edc-882c-40cf-909b-c8ce38ed781fn%40googlegroups.com.

Reply via email to