前端之家收集整理的这篇文章主要介绍了
golang学习的点点滴滴:接口,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
packagemain
//定义一个接口
//有两个方法
//注意:方法不能加func
typeIFileinterface{
Read(filestring)(buf[]byte)
Write(filestring,buf[]byte)
}
typeIReaderinterface{
Read(filestring)(buf[]byte)
}
typeIWriterinterface{
Write(filestring,buf[]byte)
}
//定义一个结构体
//通过下面定义的方法可以看出:
//File同时实现了IFileIReaderIWriter所有的方法
//所以File实现了IFile也实现了IReader和IWriter
typeFilestruct{
}
//结构体中的方法
func(f*File)Read(filestring)(buf[]byte){
returnnil
}
//结构体中的方法
func(f*File)Write(filestring,buf[]byte){
}
funcmain(){
f:=new(File)
//File同时实现了IFileIReaderIWriter所有的方法
//所以File实现了IFile也实现了IReader和IWriter
//所以这些转型都是符合语法的
varf1IFile=f
varf2IReader=f
varf3IWriter=f
f.Read("aa")
f1.Read("bb")
f2.Read("cc")
//IWriter只定义了Write方法
f3.Write("dd",[]byte{1,2})
}
原文链接:https://www.f2er.com/go/190747.html