随笔 - 231  文章 - 205  评论 - 20  阅读 - 41万

随笔分类 -  Go

1 2 3 下一页
Go
Go新手容易踩的坑(控制结构相关)
摘要:1、忽视在range循环中元素被复制的事实 修改结构体切片中的元素 错误的修改方式(要注意:在range循环中,值元素是一个拷贝!) package tests import ( "fmt" "testing" ) type Account struct { Balance int } func T 阅读全文
posted @ 2024-07-06 20:23 江湖乄夜雨 阅读(21) 评论(0) 推荐(0) 编辑
Golang操作kafka遇到分区扩容消费新分区数据的问题
摘要:项目地址 该项目的README有更加详细的资料说明: https://gitee.com/huoyingwhw/kratos_kafka 实验环境准备 我在本机使用brew安装了zookeeper与kafka: 另外需要注意,上面的项目我加了NSQ的初始化,如果本地没有启动NSQ的话会报错: 我本地 阅读全文
posted @ 2024-03-15 16:48 江湖乄夜雨 阅读(70) 评论(0) 推荐(0) 编辑
go-zero中好用的流处理利器fx与mr介绍
摘要:使用并发包前需要注意一个点 *** 实际业务中使用fx、mr确实能提高调用方的效率,但是对于加大了对被调用方的负担。 举个例子:服务A提供了通过一个用户id查询用户订单数据的接口,服务B有多个用户id需要查,此时当然可以使用fx或者mr调用A的RPC接口用多个用户id并发去查服务A的数据,这样避免了 阅读全文
posted @ 2023-02-25 19:00 江湖乄夜雨 阅读(1773) 评论(0) 推荐(0) 编辑
kratos中使用rockscache介绍
摘要:✅ 项目地址 kratos_rockscache 主要功能在这里还有一些其他的测试用例 kratosRocksCache 使用go-redis的v9版本 ✅ 简介 在实际的业务场景中中,我们常常会使用redis将数据库的数据做一份缓存,以提高程序的查询效率。但是引入了redis同时也会带来一些问题, 阅读全文
posted @ 2023-02-14 21:34 江湖乄夜雨 阅读(646) 评论(0) 推荐(0) 编辑
kratos项目使用错误码介绍
摘要:说明 主要是http请求用到,因为http请求基本都是业务方直接调用的,grpc接口的话主要公司内部的服务之间使用,对外的http服务我们规定一下响应的结构以及错误码规范更加合适一些~ 项目demo地址 https://gitee.com/huoyingwhw/kratos-err-code 先来看 阅读全文
posted @ 2023-02-09 17:13 江湖乄夜雨 阅读(514) 评论(0) 推荐(0) 编辑
kratos项目使用中间件Middleware介绍
摘要:demo项目地址 https://gitee.com/huoyingwhw/kratos-middleware 业务场景 很多情况下我们需要对请求的URI进行token校验——用户登录成功后将token与uid的对应关系存储到redis中,然后在某个时机去刷新token数据,接下来的所有请求都需要校 阅读全文
posted @ 2023-02-09 15:01 江湖乄夜雨 阅读(662) 评论(0) 推荐(0) 编辑
kratos项目集成kafka介绍
摘要:项目链接 演示项目demo地址 https://gitee.com/huoyingwhw/kratos_kafka 参考kratos-transport项目 https://github.com/tx7do/kratos-transport 特别注意包的版本 github.com/go-kratos 阅读全文
posted @ 2023-02-08 16:16 江湖乄夜雨 阅读(323) 评论(0) 推荐(0) 编辑
golang中goroutine泄漏的问题以及解决方案
摘要:参考文章 Goroutine leak Golang中的goroutine泄漏问题 如何退出协程 goroutine (超时场景) 如何退出协程 goroutine (其他场景) 问题纠正 之前视频讲过一个知识点,如何设置子协裎超时机制,其实像下面这段代码,主协裎关闭后子协裎是不会停止的: func 阅读全文
posted @ 2022-12-25 10:51 江湖乄夜雨 阅读(704) 评论(0) 推荐(0) 编辑
golang实现等待通知机制的方法
摘要:参考博客: https://geektutu.com/post/hpg-sync-cond.html https://cyent.github.io/golang/goroutine/sync_cond/ 使用sync.Cond实现 如果想在使用 Cond 的时候避免犯错,只要时刻记住**调用 co 阅读全文
posted @ 2022-12-18 10:23 江湖乄夜雨 阅读(634) 评论(0) 推荐(0) 编辑
使用errgroup并发查询数据库
摘要:参考文章 [Golang]并发编程包之errgroup —— 文中最后那个ctx的坑注意一下! errgroup使用方法及适用场景 代码演示 package aerrgrouptests import ( "context" "fmt" "sort" "sync" "testing" "github 阅读全文
posted @ 2022-12-13 20:34 江湖乄夜雨 阅读(157) 评论(0) 推荐(0) 编辑
sync.Once的基本使用以及拓展
摘要:基本的单例模式 之前总结过博客:https://www.cnblogs.com/paulwhw/p/15450657.html#_label2 看一下Once的源码 type Once struct { done uint32 m Mutex } func (o *Once) Do(f func() 阅读全文
posted @ 2022-12-10 13:12 江湖乄夜雨 阅读(142) 评论(0) 推荐(0) 编辑
gorm更新数据遇到的空值问题
摘要:package gorm_tests import ( "fmt" "github.com/fatih/structs" "github.com/go-playground/validator/v10" "github.com/stretchr/testify/require" "gorm.io/d 阅读全文
posted @ 2022-12-02 19:55 江湖乄夜雨 阅读(1365) 评论(0) 推荐(0) 编辑
golang校验结构体字段的库validator的使用
摘要:package scripts_stroage import ( "fmt" "github.com/go-playground/validator/v10" "testing" ) // 参考博客: // https://juejin.cn/post/6900375680358285325 // 阅读全文
posted @ 2022-12-02 15:56 江湖乄夜雨 阅读(221) 评论(0) 推荐(0) 编辑
Golang获取随机float64(正数)数据与随机int数据(可以是负数)
摘要:package utils import ( "fmt" "github.com/shopspring/decimal" "math" "math/rand" "testing" "time" ) func init() { // 初始化rand模块的Seed,要不然所有的随机值会一样~ rand. 阅读全文
posted @ 2022-09-02 17:21 江湖乄夜雨 阅读(745) 评论(0) 推荐(0) 编辑
Golang中slice操作的一些问题
摘要:package go_tests import ( "bytes" "fmt" "testing" ) // 值类型与引用类型 func TestT55(t *testing.T) { a := 123 b := a // 指向不同的内存地址 fmt.Printf("a: %d, %p \n", a 阅读全文
posted @ 2022-08-21 11:04 江湖乄夜雨 阅读(58) 评论(0) 推荐(0) 编辑
golang生成随机字符串
摘要:package random_string import ( "encoding/hex" "fmt" "math/rand" "testing" "time" ) // 长度为62 var bytes []byte = []byte("ABCDEFGHIJKLMNOPQRSTUVWXYZabcde 阅读全文
posted @ 2022-06-27 18:03 江湖乄夜雨 阅读(3323) 评论(0) 推荐(0) 编辑
Golang在函数中修改外部变量
摘要:修改map结构体成员的问题 Go struct类型的map结构体成员不能修改的问题 值类型数据传地址的修改方法 func change(isT *bool) { *isT = true } func TestChange(t *testing.T) { isT := false change(&is 阅读全文
posted @ 2022-04-11 15:36 江湖乄夜雨 阅读(451) 评论(0) 推荐(0) 编辑
Go出现panic的场景
摘要:概述 go中发生panic的场景: - 数组/切片越界 - 空指针调用。比如访问一个 nil 结构体指针的成员 - 过早关闭 HTTP 响应体 - 除以 0 - 向已经关闭的 channel 发送消息 - 重复关闭 channel - 关闭未初始化的 channel - 未初始化 map。注意访问 阅读全文
posted @ 2021-11-21 19:07 江湖乄夜雨 阅读(1418) 评论(0) 推荐(1) 编辑
Golang在函数中给结构体对象赋值的一个坑
摘要:错误的赋值方式 package z_others import ( "fmt" "testing" ) type Student struct { Name string Age int Gender string } func GenStudent(stuObj *Student) { s := 阅读全文
posted @ 2021-11-14 14:27 江湖乄夜雨 阅读(1707) 评论(0) 推荐(0) 编辑
go-pg库操作PostgreSQL小结
摘要:重要的参考资料 GO-PG Golang Postgre ORM *** 这里有详细的关于ORM操作的需求 PostgreSQL client and ORM for Go 自己做的练习 package gp_gp_tests import ( "github.com/go-pg/pg/v10" " 阅读全文
posted @ 2021-10-26 10:33 江湖乄夜雨 阅读(723) 评论(0) 推荐(0) 编辑

1 2 3 下一页
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示