package main
import "fmt"
type A struct {
name string
}
func (a *A) add() {
fmt.Println("invoke add " + a.name)
a.name = "ccc"
}
func (a A) detect() {
fmt.Println("inovke detect "+ a.name)
a.name = "ddd"
}
type B struct {
A
age int
}
func (b B) sub() {
fmt.Println("inovke sub "+ b.name)
}
func main () {
a := A{ name:"aaaa"}
a.detect()
fmt.Println("name add "+ a.name)
a.add()
fmt.Println("name add "+ a.name)
b := B{ A:A{name:"bbb"}, age:123 }
b.add()
b.detect()
b.sub()
fmt.Println("Hello JSRUN! \n\n - from Golang .")
}