版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yysyangyangyangshan/article/details/87958236
话接上回,看了go里面基本的数据类型,以及几个特殊的数据类型,接着看特殊的数据类型,语言数据类型。
看代码体会,在basicGrammar文件夹下新建文件grammar2.go,
grammar2.go
package basicGrammar
import "fmt"
type student interface{
writeHomeWork()
}
type primaryStudent struct{
}
func (pstudent primaryStudent) writeHomeWork() {
fmt.Println("我的作业是:抄写古诗:画 远看山有色,近听水无声。春去花还在,人来鸟不惊。")
}
type juniorHighStudent struct{
}
func (jstudent juniorHighStudent) writeHomeWork(){
fmt.Println("我的作业是:背诵滕王阁序:落霞与孤鹜齐飞,秋水共长天一色。")
}
type seniorHighStudent struct{
}
func(sstudent seniorHighStudent) writeHomeWork(){
fmt.Println("我的作业是:议论文学习:过秦论 一夫作难而七庙隳,身死人手,为天下笑着,何也?仁义不施而攻守之势异也!")
}
func TestTypeInterface(){
var person student
fmt.Println("小学生")
person = new(primaryStudent)
person.writeHomeWork()
fmt.Println("初中生")
person = new(juniorHighStudent)
person.writeHomeWork()
fmt.Println("高中生")
person = new (seniorHighStudent)
person.writeHomeWork()
}
在mai中调用
package main
import "basicGrammar"
func main(){
//特殊语法:语言接口
basicGrammar.TestTypeInterface()
}
输出
API server listening at: 127.0.0.1:2345
小学生
我的作业是:抄写古诗:画 远看山有色,近听水无声。春去花还在,人来鸟不惊。
初中生
我的作业是:背诵滕王阁序:落霞与孤鹜齐飞,秋水共长天一色。
高中生
我的作业是:议论文学习:过秦论 一夫作难而七庙隳,身死人手,为天下笑着,何也?仁义不施而攻守之势异也!
把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。