博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
go语言---接口
阅读量:5825 次
发布时间:2019-06-18

本文共 1356 字,大约阅读时间需要 4 分钟。

hot3.png

package mainimport (	"fmt"	"sort")// type  people []string// func (p people)Len() int{ // 	return len(p)// }// func (p people)Swap(i,j int){// 	p[i],p[j] = p[j],p[i]// }// func (p people)Less(i,j int) bool{// 	return p[i]>p[j]// }// type recover struct{// 	sort.Interface// }// func (r recover)Less(i,j int)bool{// 	return r.Interface.Less(j,i)// }// func  Recover( data sort.Interface) sort.Interface{// 	return  recover{data}// }/* 定义一个类 */type person struct{	name string	age string}func (p person) getName()string{	return p.name}type people []stringfunc (p people)Len()int {	return len(p)}func (p people)Swap(i,j int){	p[i],p[j] = p[j],p[i]}func (p people)Less(i,j int)bool{	return p[i] > p[j]}/***定义一个接口,与java的接口定义类似*接口只是对一个标准的定义*不需要继承,只要满足这个接口里面的方法定义都可以认为是这个接口的子类*/type Interface interface{	Len() int	Swap(i,j int ) 	Less(i,j int)bool}func print(data Interface){	data.Swap(1,2)	fmt.Println(data)}func main() {	p:= person{"左龙龙", "123"}	fmt.Println(p.getName())	s := people{"Zeno", "John", "Al", "Jenny"}	// fmt.Println(s)	// print(s)	// fmt.Println(s)	// fmt.Println(s)	// fmt.Println(sort.Reverse(sort.StringSlice(s)))	// sort.Sort(sort.StringSlice(s))	// fmt.Println(s)	// Recover(s)	// fmt.Println(s)	 sort.Sort(s)	// fmt.Println(s)}/* 重载,在原有的类型上嵌套一个类型,重置的类型覆写 */// https://golang.org/pkg/sort/#Sort

 

转载于:https://my.oschina.net/u/3688108/blog/1797931

你可能感兴趣的文章
互联网+升级到智能+ 开启万物智联新时代
查看>>
Linux文本编辑器之Nano
查看>>
【原】IOS中KVO模式的解析与应用
查看>>
理解 QEMU/KVM 和 Ceph(3):存储卷挂接和设备名称
查看>>
一道算法题的一种O(n)解法
查看>>
隐马尔可夫模型学习小记——forward算法+viterbi算法+forward-backward算法(Baum-welch算法)...
查看>>
[MFC] CList
查看>>
[Android Pro] 完美Android Cursor使用例子(Android数据库操作)
查看>>
c++中sizeof的分析
查看>>
线程间操作无效: 从不是创建控件的线程访问它的解决方法
查看>>
hdu 1236 排名
查看>>
【爆牙游记】黄山归来不看岳-日出。
查看>>
PHP面向对象深入研究之【继承】,减少代码重复
查看>>
RBAC权限管理
查看>>
此博客不再发表对自己私事的看法
查看>>
后台(20)——数据库连接池
查看>>
C# 开机自动启动程序
查看>>
导致Asp.Net站点重启的10个原因
查看>>
v7000数据恢复_MDisk重建数据恢复方法(北亚数据恢复)
查看>>
【PMP】Head First PMP 学习笔记 第一章 引言
查看>>