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语言程序设计有所帮助。