go中实现接口的几种方式

作者: adm 分类: go 发布时间: 2022-02-17 08:41
package main

import "fmt"

type student interface {
StudentName() string
}

//定义1个结构体
type Boy struct {
Name string
}

func New(name string) student {
return Boy{name}
}

//给他这个结构体绑定一个方法 StudentName。这样就表示它实现了 student接口
func (a Boy) StudentName() string {
return a.Name
}

func main() {
//方式一
//var b1 = Boy{"zhangsan",}
//var s1 student
//s1 = b1
//fmt.Println(s1.StudentName())

//方式二
//b1 := New("lisi")
//fmt.Println(b1.StudentName())

//方式三
//b1 := Boy{"zhangsan",}
//d11 := []student{b1}
//fmt.Println(d11[0].StudentName())

//方式四
var s1 student = Boy{"zhangsan",}
fmt.Println(s1.StudentName()) // zhagnsan
}

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!