2016-04-26 83 views
0
package main 

import (
    "fmt" 
) 

type alias int 
type aliases []*alias 

func main() { 
    a1 := alias(1) 
    t := aliases{&a1} 

    fmt.Println([]*int([]*alias(t))) 
} 

類型type aliases []*alias的片爲基本​​如何輸入轉換類型別名

我希望能夠輸入轉換aliases回​​

回答

0

試試這個,你能做到這一點做正確的鑄造。

type alias int 
type aliases []*alias 

func main() { 
    a1 := alias(1) 
    t := aliases{&a1} 

    orig := int(*([]*alias(t)[0])) 
    fmt.Println(orig) 
} 

http://play.golang.org/p/1WosCIUZSa

如果你想獲得你要循環的所有值(不只是第一個索引)和蒙上每個元素實例。

func main() { 
    a1 := alias(1) 
    t := aliases{&a1} 

    orig := []*int{} 

    for _, each := range t { 
     temp := int(*each) 
     orig = append(orig, &temp) 
    } 

    fmt.Printf("%#v\n", orig) // []*int{(*int)(0x10434114)} 
} 

例子:http://play.golang.org/p/Sx4JK3kA45