这篇博客还是整理从https://github.com/LyricTian/gin-admin 这个项目中学习的golang相关知识。 作者在项目中使用了 github.com/casbin/casbin 进行权限控制的,这个库自己之前也没有用过,正好可以通过这个项目学习一下使用。 当然这篇博客并不 ...
分类:
其他好文 时间:
2020-08-01 00:12:46
阅读次数:
102
利用Java语言实现七大经典排序算法:冒泡排序、选择排序、插入排序、希尔排序、堆排序、归并排序以及快速排序。 分类 类别 算法 插入排序类 插入排序、希尔排序 选择排序类 选择排序、堆排序 交换排序类 冒泡排序、快速排序 归并排序类 归并排序 复杂度 算法 平均情况 最好情况 最坏情况 辅助空间 稳 ...
分类:
编程语言 时间:
2020-07-30 01:51:43
阅读次数:
111
Golang 推荐通过 channel 进行通信和同步,但在实际开发中 sync 包用得也非常的多,在以太坊的源码中也有很多这类应用的体现。 Go sync包提供了:sync.Mutex,sync.RMutex,sync.Once,sync.Cond,sync.Waitgroup,sync.atom ...
分类:
编程语言 时间:
2020-07-30 01:44:32
阅读次数:
86
早期的select函数是用来监控一系列的文件句柄,一旦其中一个文件句柄发生IO操作,该select调用就会被返回。golang在语言级别直接支持select,用于处理异步IO问题。 select用法同switch类似,如下: timeout := make (chan bool, 1)ch := m ...
分类:
编程语言 时间:
2020-07-30 01:41:34
阅读次数:
91
Masterminds/sprig 是一个强大的golang 模版函数,以下是一个unrolled/render 集成Masterminds/sprig 的简单demo 环境准备 go.mod module github.com/rongfengliang/renameio-app ? go 1.1 ...
分类:
其他好文 时间:
2020-07-30 01:41:02
阅读次数:
102
j解决这道题我采用的思路是深度优先遍历的方法 类似于题目给出的样例的数组 9 9 4 6 6 8 2 1 1 然后对二维数组中的每个元素进行遍历,一次将他们作为序列的开头,找出这其中的最长的序列的长度就是本题的解了。 由于序列必须递增,并且可以从上下左右任意的方向都行,我们再创建一个对应的二维数组, ...
分类:
其他好文 时间:
2020-07-28 10:18:42
阅读次数:
82
场景需求 数据库存储2个模型,每个模型都有一个或多个IP字段,需要通过 Golang Http Api(Restful Api) 返回 IP 信息。 模型1 - 服务器 ID 主机名 IP 内存大小 磁盘大小 类型 负责人 H001 10-1-162-18 10.1.162.18 32G 2T 物理 ...
学习目录: 选择排序 冒泡排序 插入排序 异或运算 归并排序 先更新大部分,因为今天是周日,本周最后一天了, 现在是7月26日晚上11点46分,明天会陆续更新学习代码,并加上文字解析重要部分 选择排序 1 void selectSort(int array[], int len) 2 { 3 if ...
分类:
编程语言 时间:
2020-07-27 09:34:52
阅读次数:
78
一 排序算法的分类 二 时间复杂度和空间复杂度 1.时间复杂度 1.1 时间复杂度的计算方式 1).用常数1代替运行时间中所有的加法常数 2)修改后的运行次数函数中,只保留最高阶项 3)去除最高阶项的系数 1.2 常用算法的时间复杂度 这个需要牢记 2.空间复杂度 空间复杂度是一个算法在运行时临时占 ...
分类:
编程语言 时间:
2020-07-26 01:05:36
阅读次数:
76