编辑代码

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 () {
    //JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。
    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 .")
}