golang学习的点点滴滴:接口

前端之家收集整理的这篇文章主要介绍了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

猜你在找的Go相关文章