首页 > method的继承和向上访问的问题

method的继承和向上访问的问题

在 test/test.go中定义如下

package test

import "fmt"

type Test struct{
}

func (this *Test) SayHi(){
    fmt.Println("hi, i am test")
}

在 main.go 中定义如下:

package main

import (
    "fmt"
    "abc/test"
)

type abc struct{
    test.Test
}

func (this *abc) SayHi(){
    fmt.Println("hi, i am abc")
}

func main(){
    a := new(abc)
    a.SayHi()
}

如何才能在 abc 中调用到上层即test.Test的SayHi方法?

我这样写,是错误的

func (this *abc) SayHiTest(){
    this.test.Test.SayHi()
}

如果test.SayHi() 定义在同级目录下就没问题。多级目录就提示 没有 test字段。

非常感谢。


this.Test.SayHi()

【热门文章】
【热门文章】