1、Go语言的接口是把某些公共函数定义在接口里,其他类型实现了这些方法就是实现了这个接口。
/*接口定义*/
type interface_name interface{
method_name1 [return_type]
method_name2 [return_type]
}
/*定义结构体*/
type struct_name struct {
}_ty
/*实现接口方法*/
func (struct_name_variable struct_name) method_name1() [return_type]{
}
例子:
package main
import "fmt"
type person interface {
getName() string
setName() string
}
type man struct{
name string
}
func (a man) getName() string{
return a.name
}
//若想改变结构体的值,必须传指针类型
func (a *man) setName(name string) {
a.name = name
}
func main() {
a := man{"red"}
fmt.Printf("name %s\n", a.getName())
a.setName("green")
fmt.Printf("name:%s\n", a.getName())
}