package main
import(
"fmt"
"sort"
"math/rand"
)
//定义一个武当派的结构体
type Wudang struct{
Name string
Age int
Rating int //等级
}
//定义一个Wudang结构切片类型
type Wudangslice []Wudang func (ws Wudangslice) Len() int {
return len(ws)
} func (ws Wudangslice) Less(i,j int) bool {
return ws[i].Age < ws[j].Age
} func (ws Wudangslice) Swap(i,j int) {
ws[i],ws[j] = ws[j],ws[i]
} func main(){
var wulin Wudangslice
for i := 0;i < 8;i++ {
wd := Wudang{
Name : fmt.Sprintf("武当%d号",rand.Intn(10)),
Age:rand.Intn(100),
Rating:rand.Intn(8),
}
wulin = append(wulin,wd)
}
//排序前的顺序
for _ , v:=range wulin{
fmt.Println(v)
}
//调用sort.Sort
sort.Sort(wulin)
fmt.Println("--------排序后-----------")
for _ , v:=range wulin{
fmt.Println(v)
}
}

  

如果想按照名字或者登记排序,修改

func (ws Wudangslice) Less(i,j int) bool {
return ws[i].Name < ws[j].Name
}

  

GOLANG接口编程的最佳实践一 (sort.Sort(data Interface ) )的更多相关文章

  1. .NET API 接口数据传输加密最佳实践

    .NET API 接口数据传输加密最佳实践 我们在做 Api 接口时,相信一定会有接触到要给传输的请求 body 的内容进行加密传输.其目的就是为了防止一些敏感的内容直接被 UI 层查看或篡改. 其实 ...

  2. RESTful接口设计原则/最佳实践(学习笔记)

    RESTful接口设计原则/最佳实践(学习笔记) 原文地址:http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api 1 ...

  3. javascript编程的最佳实践推荐

    推荐的javascript编程的最佳实践,摘要记录在这里: 可维护的代码保证代码的性能部署代码 1 可维护的代码1.1什么是维护的代码:可理解性——其他人可以接手代码并理解它的意图和一般途径,而无需原 ...

  4. python高级编程之最佳实践,描述符与属性01

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #最佳实践 """ 为了避免前面所有的 ...

  5. [01] C#网络编程的最佳实践

    网络框架的选择 C++语言里面有asio和libuv等网络库, 可以方便的进行各种高效编程. 但是C#里面, 情况不太一样, C#自带的网络API有多种. 例如: Socket TcpStream(同 ...

  6. 【GoLang】GoLang GOPATH 工程管理 最佳实践

    参考资料: MAC下 Intellij IDEA GO语言插件安装及简单案例:http://blog.csdn.net/fenglailea/article/details/53054502 关于wi ...

  7. Android学习之基础知识十二 — 第二讲:网络编程的最佳实践

    上一讲已经掌握了HttpURLConnection和OkHttp的用法,知道如何发起HTTP请求,以及解析服务器返回的数据,但是也许你还没发现,之前我们的写法其实是很有问题的,因为一个应用程序很可能会 ...

  8. jQuery编程的最佳实践

    好像是feedly订阅里看到的文章,读完后觉得非常不错,译之备用,多看受益. 加载jQuery 1.坚持使用CDN来加载jQuery,这种别人服务器免费帮你托管文件的便宜干嘛不占呢.点击查看使用CDN ...

  9. Golang核心编程

    源码地址: https://github.com/mikeygithub/GoCode 第1章 1Golang 的学习方向 Go 语言,我们可以简单的写成 Golang 1.2Golang 的应用领域 ...

随机推荐

  1. SecureCRT 添加Mac Localhost

    1.启动sshd服务: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist 停止sshd服务的方法: sudo launchc ...

  2. 建立本地yum仓库

    [root@ks-server ~]# cd /etc/yum.repos.d/[root@ks-server yum.repos.d]# ls CentOS-Base.repo CentOS-Med ...

  3. 外带IP 防火墙限制导致 IP不通

    案例: 业务报障,一台设备配了20个IP,跳板机测试都通,但从外边访问,发现部分IP通,部分不通. 排雷: 1. 从跳板机测试都通,说明所有IP 本身应该都没问题的,都可以用,2. 从其他设备测试,部 ...

  4. python列表删除--remove(),del,pop()

    remove()参数为列表元素,若在列表中,删除,不在则报错 如: pop()不带参数时默认删除列表的末尾元素并返回该元素,带参数时该参数为列表元素的下标值 不带参数: 以下标为参数: del 后面可 ...

  5. ubuntu 右上角网络图标不见了

    sudo service network-manager stop sudo rm /var/lib/NetworkManager/NetworkManager.state sudo service ...

  6. BootStrap Table方法使用小结

    参考链接:https://www.cnblogs.com/Amaris-Lin/p/7797920.html

  7. SSH连接时root用户无法验证通过

    解决办法是: vi /etc/ssh/sshd_config 找到 # Authentication: PermitRootLogin without passwd 改成 # Authenticati ...

  8. Oracle数据库连接工具的使用(二)

    一.SQL Plus介绍 1.简介 Oracle的sql plus是与oracle进行交互的客户端工具.在sql plus中,可以运行sql plus命令与sql语句. 我们通常所说的DML.DDL. ...

  9. Kubernetes---容器的生命周期

    ⒈ ⒉Init容器 介绍: Pod 能够具有一个或多个容器,应用运行在容器里面,但是它也可能有一个或多个先于应用容器启动的Init容器. Init容器与普通的容器非常像,除了如下两点: >Ini ...

  10. Thinking In Java 4th Chap3 操作符

    若String后接一‘+’运算符,其后元素自动转化为String类型 注意:若对对象赋值另一对象,操作对应的是引用,如c=d,则c和d都指向原来d指向的对象 生成随机数:Random rand=new ...