They have different layouts in memory. Do you just want to do this:

package main

import (
        "fmt"
)

func main() {
        a := [3]int{1, 2, 3}
        b := a[:]
        fmt.Println(b)
}

https://play.golang.org/p/OBY7g3azBE

If so, there's no need for unsafe. If not, what are you trying to do?

On Thu, 2016-11-10 at 21:50 -0800, steve tang wrote:
> Hi theres,
> 
>     I used unsafe.Pointer to  conv Type [3]int to Type []int, But it
> throws 
> a runtime error,  Could anybody tell me why? many thanks.  The test
> code is 
> as follows:
> 
> package main
> 
> import (
> "fmt"
> "unsafe"
> )
> 
> func main() {
> a := [3]int{1, 2, 3}
> b := *(*[]int)(unsafe.Pointer(&a))
> fmt.Println(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.

Reply via email to