Go语言排序与接口实例分析
本文实例讲述了Go语言排序与接口用法。分享给大家供大家参考。具体如下:
import"fmt"
typeSorterinterface{
Len()int
Less(i,jint)bool
Swap(i,jint)
}
typeXi[]int
typeXs[]string
func(pXi)Len()int{returnlen(p)}
func(pXi)Less(iint,jint)bool{returnp[j]<p[i]}
func(pXi)Swap(iint,jint){p[i],p[j]=p[j],p[i]}
func(pXs)Len()int{returnlen(p)}
func(pXs)Less(iint,jint)bool{returnp[j]<p[i]}
func(pXs)Swap(iint,jint){p[i],p[j]=p[j],p[i]}
funcSort(xSorter){
fori:=0;i<x.Len()-1;i++{
forj:=i+1;j<x.Len();j++{
ifx.Less(i,j){
x.Swap(i,j)
}
}
}
}
funcmain(){
ints:=Xi{44,67,3,17,89,10,73,9,14,8}
strings:=Xs{"nut","ape","elephant","zoo","go"}
Sort(ints)
fmt.Printf("%v\n",ints)
Sort(strings)
fmt.Printf("%v\n",strings)
}
希望本文所述对大家的Go语言程序设计有所帮助。