![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go
乏善可陈
我是个新手谢谢
展开
-
golang:条件编译-tags -ldflags 编译使用场景介绍
最近在GO项目接入nacos做服务注册和服务发现的时候,需要进行条件编译因此需要用到-tags 和 -ldflags的使用场景;这里的场景例如在编译的时候生产环境有例如部分秘钥或者密码必须编译的时候注入,可以使用到-ldflags;tags是可以条件编译整个文件,例如example.go只要在头部写上。-ldflags是可以对单个变量进行编译入参写入进编译文件中;我们的session环境变量值是:session真的有了!我们的env环境变量值是:testing。我们的JDK变量值是:tttwwwzzz。原创 2023-01-30 19:28:52 · 757 阅读 · 0 评论 -
leetcode|golang:初级算法:买卖股票的最佳时机 II
随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。链接:https://leetcode.cn/leetbook/read/top-interview-questions-easy/x2zsx1/解释:在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。输入:prices = [7,1,5,3,6,4]原创 2023-01-05 16:32:28 · 382 阅读 · 0 评论 -
leetcode|golang:初级算法:删除排序数组中的重复项
更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 的前 k 个元素应该保存最终结果。给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。链接:https://leetcode.cn/leetbook/read/top-interview-questions-easy/x2gy9m/不要使用额外的空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。如果所有断言都通过,那么您的题解将被 通过。原创 2023-01-05 14:01:58 · 273 阅读 · 0 评论 -
golang泛型实现通用gorm表格增删改查
这样就可以进行表格的增删改查了,不需要一个表新增重复的增删改查代码了,清晰度会更加明了,其他可以使用的地方还有很多,以后可以多多留心,以后整个代码应该都会焕然一新。在go1.18以前我们实现不同表格的增删改查,需要新建很多struct 之后绑定指针类型方法,并且所有不同的表都得重写一遍例如这样;我们如果需要新增表格 就新增TableX 的struct 和 TableWhereX的一样的struct就可以了;如果有100个表,没有泛型支持这里的代码需要写100遍,特别的麻烦。原创 2023-01-05 11:13:45 · 1089 阅读 · 0 评论 -
golang 实现不定数量企微群机器人消息通知 顺序必须一致 并不超过群机器人消息每分钟提醒上限20条
如果还有好多没有发完,我们的ticket会20秒定时去检查最近发送时间有没有超过一分钟,如果超过 我们就开始发送数据,并发完之后写入发送条数和最新的发送时间(加锁);如果触发了发送立马去检查UrlsMap[url] 查看这个struct中已经发送的数量如果大于等于20 我们直接结束,如果小于20条,我们发送20-x = 剩余条数。我们如果收到消息之后,就立马将消息放到以url作为key的redis hashMap中 这样需要发送消息的时候只要找到有这个redis队列缓存就行,原创 2022-10-19 17:17:04 · 935 阅读 · 0 评论 -
golang 递归读取文件夹中文件
由于文件夹内可能还有文件夹,因此是需要递归调用自己的,但是返回值如果每次都进行append会很麻烦,因此将需要记录的文件字符串直接放到一个指针类型的slice中;这里的CircleDirFiles方法进行了递归调用,由于需要将返回值放到入参里,因此使用了*[]string类型的入参,这样才不会因为函数结束而丢弃掉生成的路径。...原创 2022-08-10 19:53:27 · 518 阅读 · 0 评论 -
go mysql报错Error 1406: Data truncation: Data too long for column ‘content‘ at row 1
err := tx.Create(&cwsh).Error在执行Create插入语句的时候,测试环境没遇到报错,但是生产环境报了1406异常,查了一下原来是生产环境和测试环境的mysql配置不同;网络上找到的解决错误的方法是:在my.ini里找到sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_Create_USER,NO_ENGINE_SUBSTITUTION”把其中的STRICT_TRANS_TABLES,去掉,或者把sql-mode=STRICT.原创 2022-04-29 12:32:37 · 3864 阅读 · 0 评论 -
go中redis模糊查询到key并且批量删除它
我们在需要删除很多的redis key的时候,我们很有可能是无法知道所有的key的但是我们可以进行模糊查询后,进行逐个删除,(当然你得知道你所有的key都是你自己用的不能删除别人用的key)。这里批量删除也就需要用到反射来进行删除,直接贴代码:func (cf *Func) DelRedisCatchBatch(keys ...string) { for _, redisKey := range keys { keysMatch, err := providers.Redis.D...原创 2022-04-15 16:32:49 · 3964 阅读 · 0 评论 -
go test修改后结果不变,执行go test差找不到方法的坑
go test中有缓存和找不到方法的坑原创 2022-04-15 14:11:21 · 794 阅读 · 0 评论 -
goland编辑器行间距配置
goland编辑器行间距配置原创 2022-04-15 13:51:47 · 156 阅读 · 0 评论