golang struct 中特殊类型

以下是一个特殊的例子:

package main

import "fmt"

type wenbin struct {
    name string
    number int
}

type wenbinstruct struct {
    *wenbin
}

func(wb *wenbin) testFunc(){
    fmt.Println("wenbintestjklsd")
}

func main(){
    fmt.Println("wenbin")

    wenbinptr := &wenbin{name:"wenbin",number:100}

    wenbintest := wenbinstruct{wenbinptr}
    fmt.Println(wenbintest.name)
    fmt.Println(wenbintest.number)

    wenbinptr.testFunc()
    wenbintest.testFunc()
}

output:

wenbin
wenbin
100
wenbintestjklsd
wenbintestjklsd

wenbinstruct可以直接使用wenbin的变量和方法,主要原因在于


type wenbinstruct struct {
    *wenbin
}

你可能感兴趣的:(golang struct 中特殊类型)