golang中sort包用法

golang中也实现了排序算法的包sort包. sort包中实现了3种基本的排序算法:插入排序.快排和堆排序.和其他语言中一样,这三种方式都是不公开的,他们只在sort包内部使用.所以用户在使用sort包进行排序时无需考虑使用那种排序方式,sort.Interface定义的三个方法:获取数据集合长度的Len()方法、比较两个元素大小的Less()方法和交换两个元素位置的Swap()方法,就可以顺利对数据集合进行排序。sort包会根据实际数据自动选择高效的排序算法。 type Interface ...阅读全文

2015-01-02 11:47 chenbaoke
阅读:29164 评论:0

Go 每日一库之 viper

简介 上一篇文章介绍 cobra 的时候提到了 viper,今天我们就来介绍一下这个库。viper 是一个配置解决方案,拥有丰富的特性: 支持 JSON/TOML/YAML/HCL/envfile/Java properties 等多种格式的配置文件; 可以设置监听配置文件的修改,修改时自动加载新的配置; 从环境变量、命令行选项和io.Reader中读取配置; 从远程配置系统中读取和监听修改,如 etcd/Consul; 代码逻辑中显示设置键值。 快速使用 安装: $ go get github...阅读全文

阅读:16523 评论:1

Go 每日一库之 logrus

简介 前一篇文章介绍了 Go 标准库中的日志库 log。最后我们也提到,log库只提供了三组接口,功能过于简单了。今天,我们来介绍一个日志库中的“明星库”——logrus。本文编写之时(2020.02.07),logrus 在 GitHub 上 star 数已达到 13.8k。logrus完全兼容标准的log库,还支持文本、JSON 两种日志输出格式。很多知名的开源项目都使用了这个库,如大名鼎鼎的 docker。 快速使用 第三方库需要先安装: $ go get github.com/sirup...阅读全文

2020-02-14 11:32:33 darjun
阅读:1428 评论:0

Golang GC

内存分区 代码经过预处理、编译、汇编、链接4步后⽣成⼀个可执⾏程序。 在 Windows 下,程序是⼀个普通的可执⾏⽂件,以下列出⼀个⼆进制可执⾏⽂件的基本情况: PS D:\Soft\GoCode\src> size .\01.exe text data bss dec hex filename 1440107 81844 0 1521951 17391f .\01.exe 由上可以得知,在没有运⾏程序前,也就是说程序没有加载到内存前,可执⾏程序内部已经 分好三段信息,分别为代码区(text)...阅读全文

2020-05-21 19:33:17 强某某
阅读:1294 评论:0