当前位置: 代码迷 >> 综合 >> Go语言接口interface(基础)
  详细解决方案

Go语言接口interface(基础)

热度:109   发布时间:2023-09-05 18:32:52.0

简单接口

package mainimport ("fmt"
)type TEST interface {fgo()
}
type M struct{}func (M) fgo() {fmt.Printf("this is interface\n")
}func main() {var m Mvar tt TEST = mtt.fgo()
}
//打印结果
this is interface

嵌套接口

package mainimport ("fmt"
)type TEST interface {fgo()
}type TEST2 interface {TESTfgo2() M
}
type M struct {id int
}func (m M) fgo() {fmt.Printf("this is interface\n")
}
func (m M) fgo2() M {fmt.Printf("this is interface--2\n")return m
}func main() {var m Mm.id = 1var tt TEST2 = mtt.fgo()fmt.Println(m.fgo2().id)
}
//打印结果
this is interface
this is interface--2
1

匿名接口

package mainimport ("fmt"
)type data struct{}func (data) func1() string {return "func1 running"
}type Node struct {data interface {func1() string}
}func main() {var t interface {func1() string} = data{}var n Node = Node{data: t}fmt.Println(n.data.func1())
}
//打印结果
func1 running
  相关解决方案