119 lines
6.0 KiB
Markdown
119 lines
6.0 KiB
Markdown
#我的公众号二维码
|
||

|
||
|
||
# 作用
|
||
本工程仅供个人学习记录,刚开始学习go(之前是java),本工程积累一些反射的用法。后期查询更加快捷
|
||
|
||
|
||
|
||
# 更新日志
|
||
2020/4/24 :创建FiledValueTool.go四个方法,分别处理【结构体对象】、【结构体指针对象】的字段名-字段值的map获取以及 【结构体类型】、【结构体指针类型】的字段名获取
|
||
|
||
2020/4/27 :创建FileUtil.go、FileReadTool.go、FileWriteTool.go文件,添加文件文件夹操作、读写文件操作方法
|
||
|
||
2020/4/27 :创建ColorUtil:颜色输出工具、修改目录层级、添加数据库表字段处理工具(需要已连接数据库)
|
||
|
||
2020/4/28 : 创建IniTool.go:包装int工具类,进行文件配置数据结构的读取,包括对应的使用例子(工具地址:https://ini.unknwon.cn/docs/howto/work_with_sections)
|
||
|
||
2020/4/30 :添加FileUtil.go、FileReadTool.go单测类代码,修改相应bug-----IniTool.go依赖获取不到,注释掉代码
|
||
|
||
2020/4/30 : 创建ArrayUtil.go,添加数组对应方法
|
||
|
||
2020/5/6 : 创建ArrayUtils测试类,修改对应方法
|
||
|
||
2020/5/7 : 创建timed包相关时间操作工具,实现时间戳、时间格式化操作。创建timed测试类
|
||
|
||
2020/6/15: 创建Set,实现相关方法
|
||
|
||
2020/6/30: ArrayList添加深度复制方法以及单测类、添加Rand随机获取参数方法、RandByWeight根据权重随机获取奖励方法
|
||
|
||
2020/7/8: 增加读取json文件方法及其单测类
|
||
|
||
2020/7/13: 增加计算获取字符串哈希值的方法(这个是之前用于做分表系统的方法,搬到这边来看一下)
|
||
|
||
2020/7/13: 修改FileUtil的报错
|
||
|
||
2020/7/20: 添加深度优先搜索算法工具类以及变种,分别对应以下场景
|
||
|
||
- 在N个道具中,提取所有M个道具的组合方案,这种方式可以用在 权重一样的 N个道具中选择一定的数量的道具组合(这种方案就是权重一样)
|
||
- 在N个道具中,提取超过一定价值V的所有组合方案,道具的数量没有限制,但是必须超过最低价值,也就是我们说的保底方案
|
||
- 在N个道具中,提取超过一定价值VMin,但是不超过一定价值VMax的组合方案,道具的数量没有限制,必须在最低价值和最高价值之间.
|
||
- 在N个道具中,提取超过一定价值V并且个数大小为M的所有组合方案,这个就是保证 保底的一定数量的道具
|
||
|
||
类似上面的方案,在游戏中可以在活动创建的时候,初始化所有的方案放到redis,然后每一次抽取都筛选下标来确认方案.这样就可以保证在一定的范围或者数量内确认对应的方案。
|
||
|
||
|
||
2020/8/6: 添加求背包问题最优解三种方式(KnapsackOptimizationUtil.go)及其单测类,添加求背包问题最优解过程路径(KnapsackSearchAnswerUtil.go)及其单测类.添加背包问题的readme相关说明
|
||
|
||
2020/8/18: 修改单测位置,添加lomuto查找第k小元素算法代码及其单测(分治法)
|
||
|
||
2020/8/20:新增二分法查找算法及其单测、插入查询及其单测、lomuto划分查询第k小元素及其单测、归并排序及其单测、快速排序及其单测.
|
||
|
||
2020/8/20: 新增选择排序及其单测、冒泡排序及其单测、堆排序及其单测
|
||
|
||
2020/8/26: 新增Horspool字符串查找算法及其单测、新增Horspool字符串查找算法及其单测、新增计数排序及其单测
|
||
|
||
2020/10/28: 新增根据二进制位数来存储奖励领取情况工具类,BitStoreTool、使用说明及其单测
|
||
|
||
2020/11/9: 新增lomute划分算法效率单测,结果:多次查找,元素多的情况下由末尾开始查找效率更高
|
||
|
||
2020/11/12:新增linq包使用示例(未完成)
|
||
|
||
2020/11/16:新增项目案例(按照一定规则对一组数据进行排序分组)
|
||
|
||
2020/11/25:完善linq包使用示例
|
||
|
||
2020/12/7 : 更新bit位操作工作 BitTool
|
||
|
||
2020/12/15:添加前缀树工具,实现前缀搜索和字符串搜索功能
|
||
|
||
2020/12/16: 添加YAML和结构体转换工具
|
||
|
||
2020/12/31:新增项目案例(角色技能树)
|
||
|
||
2021/02/05: 新增二分查找区间内数值方法
|
||
|
||
2021/03/02: 新增字符串匹配 暴力匹配、KMP匹配、SunDay匹配算法
|
||
|
||
2021/03/11: 新增Kr、Shift and/or字符串匹配算法
|
||
|
||
2021/03/14: 新增Manacher算法,求最长回文串
|
||
|
||
2021/03/18:新增超过半数数字系列算法题,新增出现次数不同的数字系列算法题
|
||
|
||
2021/03/26: 新增全排列的递归实现、字典序实现、递增进制位实现、递减进制位实现
|
||
|
||
2021/06/16 新增一个数拆分成N个数且N个数相加和等于这个数工具、测试方法
|
||
|
||
# 修复日志
|
||
2020/11/23:修改项目案例(按照一定规则对一组数据进行排序分组)
|
||
|
||
2020/12/16: 修复bitStore越位溢出的问题
|
||
|
||
2020/12/31: 修改diliver包结构
|
||
|
||
2020/12/31:删除源码学习部分,挪到Go-Study工程
|
||
|
||
2021/01/04:reflectM包添加indirect处理指针和非指针,获取type、value
|
||
|
||
2021/02/18:bitStore新增特殊档位获取方法,修改档位数目的参数标识
|
||
|
||
2021/02/23: 删除linq包使用示例,修改二进制工具与单测类,修改lomuto划分,修改前缀树与单测类,修改时间比较工具
|
||
|
||
2021/03/02: 修复Rand包随机获取方法
|
||
|
||
# mod vendor模式加载包
|
||
通过go mod的方式加载的github上面的包会有报红的问题,但是包本身是可以运行的,这样就是会有一个问题,如果你想要点击去看方法的内容,没办法做到
|
||
|
||
查阅了网上提供的处理方式,通过设置GOPATH 和Go Modules(vgo)可以解决相应的问题,但是我在这样处理之后依然会出现报红的问题
|
||
|
||
后面通过使用vendor包的方式来处理,就避免了报红的问题
|
||
|
||
处理步骤如下 :
|
||
- 通过 go get github.com/kardianos/govendor 命令下载govendor命令
|
||
- 把vendor文件夹删除了
|
||
- 通过 go mod vendor 切换到vendor管理
|
||
- 在文件中import引用对应的路径
|
||
- vendor加载对应的包
|
||
|