随笔分类 -  Golang

记录关于golang中的思考
摘要:文章的内容仅仅是自己关于map的value类型定义为函数类型时的一点点思考,如有不对的地方,请不吝赐教。 学习过后才知道叫做 方法值/方法表达式。 1、起因 最近在看老项目代码时,看到了一段类似于下面的定义,最开始看到的时候,对于 LotMap 的用法比较疑惑,为什么 map value 定义的函数 阅读全文
posted @ 2024-02-28 17:41 画个一样的我 阅读(342) 评论(0) 推荐(1) 编辑
摘要:Golang 常用工具记录 1 golang 类 1.1 日常使用的 copier 复制结构体到另外一个结构体 等等类似的功能 asynq Go中简单、可靠、高效的分布式任务队列,使用 redis 做为 broker machinery Machinery是基于分布式消息传递的异步任务队列/作业队列 阅读全文
posted @ 2023-12-24 19:55 画个一样的我 阅读(166) 评论(0) 推荐(0) 编辑
摘要:在日常开发工作中,我们进行会遇到将 struct 序列化 json字符串以及将 json字符串 反序列化为 struct 的场景,大家也对此十分熟悉。 最近工作中,遇到了需要将 struct 序列化 xml字符串以及将 xml字符串 反序列化为 struct 的场景,对于普通类型的字段,比如int、 阅读全文
posted @ 2023-12-01 09:36 画个一样的我 阅读(501) 评论(0) 推荐(1) 编辑
摘要:1、题目 最近看群友在群里问一道关于golang中slice的题,题目如下: package main import "fmt" func main() { k := []int{1, 2, 3, 4} k = append(k, 5, 6) fmt.Printf("k --> value: %v, 阅读全文
posted @ 2023-11-15 23:49 画个一样的我 阅读(292) 评论(0) 推荐(0) 编辑
摘要:写这篇文章的时候,已经离我找工作有一段时间了,但是觉得这道题不管是面试还是日常的工作中,都会经常遇到,所以还是特意写一篇文章,记录下自己对Golang中`==`的理解。如文章中出现不对的地方,请不吝赐教,谢谢。 > 注意,以下文章内容是基于 go1.16.4 进行演示的,如果和你验证时,结果不一致, 阅读全文
posted @ 2023-08-05 13:29 画个一样的我 阅读(341) 评论(0) 推荐(0) 编辑
摘要:相信熟悉 Golang 的小伙伴不少都知道 `条件编译` 这个事,最近项目中也可能会用到这个东西。所以特意重新学习下,记录下学习的过程。这样用的时候记不住了,还可以直接过来看自己的笔记。 > 文章很多内容来源于参考资料,感谢。 ### 1、条件编译简介 #### 1.1、为什么需要条件编译 在实际的 阅读全文
posted @ 2023-07-12 23:38 画个一样的我 阅读(1592) 评论(0) 推荐(0) 编辑
摘要:本文内容来源于自己学习时所做的记录,主要来源于文章最后的参考链接,如有侵权,请联系删除,谢谢! etcd 是一个 key/value 类型的数据库。既然我们需要存储数据,必然会面临这样一个需求,即希望无论什么样的场景下,一组操作要么同时完成,要么都失败,哪怕数据库出现了故障,甚至了机器发生了宕机。幸 阅读全文
posted @ 2023-05-08 21:37 画个一样的我 阅读(1321) 评论(0) 推荐(1) 编辑
摘要:最近项目中用到了boltdb这个go开发的key/value 数据库,但是之前并有接触过,所以特意去看了官方,也找了些资料,网上找的资料要不就是官方文档的翻译,要不就是简单的介绍一点,都不是很全,所以这里记录下。话不多说,冲! 本篇文章是参考了官方的文档,内容和官方的基本一致,只是加了些自己的理解在 阅读全文
posted @ 2023-04-30 18:08 画个一样的我 阅读(1386) 评论(0) 推荐(0) 编辑
摘要:> 本文讲解的是`golang.org/x/sync`这个包中的`errgroup` ### 1、errgroup 的基础介绍 学习过 Go 的朋友都知道 Go 实现并发编程是比较容易的事情,只需要使用`go`关键字就可以开启一个 goroutine。那对于并发场景中,如何实现`goroutine` 阅读全文
posted @ 2023-04-26 23:59 画个一样的我 阅读(615) 评论(0) 推荐(0) 编辑
摘要:1、FSM简介 1.1 有限状态机的定义 有限状态机(Finite State Machine,FSM)是一种数学模型,用于描述系统在不同状态下的行为和转移条件。 状态机有三个组成部分:状态(State)、事件(Event)、动作(Action),事件(转移条件)触发状态的转移和动作的执行。动作的执 阅读全文
posted @ 2023-04-24 23:22 画个一样的我 阅读(3884) 评论(0) 推荐(2) 编辑
摘要:最近的项目用到了 RxGo ,因为之前从没有接触过,特意去学了学,特此记录下。文章很多内容是复制了参考资料或者官方文档。如果涉及侵权,请联系删除,谢谢。 1、RxGo简介 1.1 基础介绍 RxGo是一个基于Go语言的响应式编程库,它提供了一种简单而强大的方式来处理异步事件流和数据流。RxGo的设计 阅读全文
posted @ 2023-04-22 17:27 画个一样的我 阅读(856) 评论(0) 推荐(0) 编辑
摘要:1、Golang中死锁的触发条件 1.1 书上关于死锁的四个必要条件的讲解 发生死锁时,线程永远不能完成,系统资源被阻碍使用,以致于阻止了其他作业开始执行。在讨论处理死锁问题的各种方法之前,我们首先深入讨论一下死锁特点。 必要条件: 如果在一个系统中以下四个条件同时成立,那么就能引起死锁: 互斥:至 阅读全文
posted @ 2023-03-18 17:43 画个一样的我 阅读(319) 评论(0) 推荐(0) 编辑
摘要:## singleflight 使用方法以及源码阅读 ### 1、简介 安装方式: ``` go get -u golang.org/x/sync/singleflight ``` singleflight 是Go官方扩展同步包的一个库。通过给每次函数调用分配一个key,相同key的函数并发调用时, 阅读全文
posted @ 2022-11-16 09:58 画个一样的我 阅读(256) 评论(0) 推荐(0) 编辑

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