Thanks Harley.

I will pick your example and will see if this is do-able...


Sandeep


Best Regards,
Sandeep Kalra


On Mon, Mar 20, 2017 at 11:48 PM, Harley Laue <losinggenerat...@gmail.com>
wrote:

> I have some code that I've sat on for some time:
>
> type Cell int
> type Function func() error
>
> func cellToFunction(c Cell) *Function {
>     p := unsafe.Pointer(uintptr(c))
>     if p == nil { return nil }
>     return (*Function)(p)
> }
>
> func functionToCell(w *Function) Cell {
>     return Cell(uintptr(unsafe.Pointer(w)))
> }
>
> It's not []byte, but the idea is similar. There are a few major gotchas.
> After functionToCell, it's possible for the function to be garbage
> collected. The function type must be known ahead of time for
> cellToFunction. There's no way that I know to get arbitrary functions.
>
> Honestly, this approach is fragile and error prone, but it is possible.
>
>
> On Mon, Mar 20, 2017, 7:57 PM Sandeep Kalra <sandeep.ka...@gmail.com>
> wrote:
>
>> Is there any option to convert []byte to func  (Assuming that []byte
>> carries valid function)
>> ----
>> package main
>>
>> import (
>>     "fmt"
>>     "io/ioutil"
>> )
>>
>> func run(b []byte) {
>>     /// HERE ?
>> }
>>
>> func main() {
>>     if b, e := ioutil.ReadFile("./file.go"); e != nil {
>>         fmt.Println(e)
>>     } else {
>>         run(b)
>>     }
>> }
>>
>> --
>> 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.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to