golang学习的点点滴滴:接口
发布时间:2020-12-16 18:49:13 所属栏目:大数据 来源:网络整理
导读:packagemain//定义一个接口//有两个方法//注意:方法不能加functypeIFileinterface{Read(filestring)(buf[]byte)Write(filestring,buf[]byte)}typeIReaderinterface{Read(filestring)(buf[]byte)}typeIWriterinterface{Write(filestring,buf[]byte)}//定义一
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}) } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |