随笔分类 -  Golang

记录关于golang中的思考
摘要:文章的内容仅仅是自己关于map的value类型定义为函数类型时的一点点思考,如有不对的地方,请不吝赐教。 学习过后才知道叫做 方法值/方法表达式。 1、起因 最近在看老项目代码时,看到了一段类似于下面的定义,最开始看到的时候,对于 LotMap 的用法比较疑惑,为什么 map value 定义的函数 阅读全文
posted @ 2024-02-28 17:41 画个一样的我 阅读(429) 评论(0) 推荐(1)
摘要:Golang标准库 container/list(双向链表) 的图文解说 提到单向链表,大家应该是比较熟悉的了。今天介绍的是 golang 官方库提供的 双向链表。 1、基础介绍 单向链表中的每个节点包含数据和指向下一个节点的指针。其特点是每个节点只知道下一个节点的位置,使得数据只能单向遍历。 示意 阅读全文
posted @ 2024-01-02 11:30 画个一样的我 阅读(2099) 评论(0) 推荐(2)
摘要:Golang 常用工具记录 1 golang 类 1.1 日常使用的 copier 复制结构体到另外一个结构体 等等类似的功能 asynq Go中简单、可靠、高效的分布式任务队列,使用 redis 做为 broker machinery Machinery是基于分布式消息传递的异步任务队列/作业队列 阅读全文
posted @ 2023-12-24 19:55 画个一样的我 阅读(227) 评论(0) 推荐(0)
摘要:在日常开发工作中,我们进行会遇到将 struct 序列化 json字符串以及将 json字符串 反序列化为 struct 的场景,大家也对此十分熟悉。 最近工作中,遇到了需要将 struct 序列化 xml字符串以及将 xml字符串 反序列化为 struct 的场景,对于普通类型的字段,比如int、 阅读全文
posted @ 2023-12-01 09:36 画个一样的我 阅读(583) 评论(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 画个一样的我 阅读(432) 评论(0) 推荐(0)
摘要:本文主要记录下在日常开发过程中, 使用 github.com/yuin/gopher-lua 过程中需要注意的地方。 后续遇到其他的需要注意的事项再补充。 1、加载LUA_PATH环境变量 在实际开发中,我们会将一些公共的、可重复使用的代码封装起来,假如我们只是一些简单的处理,全部写在一个文件是没有 阅读全文
posted @ 2023-09-01 10:12 画个一样的我 阅读(1059) 评论(0) 推荐(0)
摘要:官网链接: [github.com/mitchellh/mapstructure](https://github.com/mitchellh/mapstructure) 本文只是简单的记录下 mapstructure 库的简单使用,想更加详细的学习,点击 [Godoc](https://pkg.go 阅读全文
posted @ 2023-08-27 22:28 画个一样的我 阅读(1209) 评论(0) 推荐(0)
摘要:最近接触到了 [github.com/json-iterator/go](https://github.com/json-iterator/go) , 是由滴滴开源的第三方json编码库,它同时提供Go和Java两个版本。 > 文中大量内容来自 github 上的 wiki 文档,有兴趣的朋友可以直 阅读全文
posted @ 2023-08-27 15:11 画个一样的我 阅读(3226) 评论(0) 推荐(3)
摘要:写这篇文章的时候,已经离我找工作有一段时间了,但是觉得这道题不管是面试还是日常的工作中,都会经常遇到,所以还是特意写一篇文章,记录下自己对Golang中`==`的理解。如文章中出现不对的地方,请不吝赐教,谢谢。 > 注意,以下文章内容是基于 go1.16.4 进行演示的,如果和你验证时,结果不一致, 阅读全文
posted @ 2023-08-05 13:29 画个一样的我 阅读(509) 评论(0) 推荐(0)
摘要:项目中使用到了 [RxGo](https://github.com/ReactiveX/RxGo) ,感觉现有的处理方式有一定的优势,当然也有一定的有劣势,遂记录下来,免得自己忘记。 > 本文介绍的只是 rxgo 的一种方式而已,如果你有不错的使用方式,请不吝赐教,谢谢。 对 rxgo 不清楚的同学 阅读全文
posted @ 2023-08-03 18:24 画个一样的我 阅读(431) 评论(0) 推荐(0)
摘要:相信熟悉 Golang 的小伙伴不少都知道 `条件编译` 这个事,最近项目中也可能会用到这个东西。所以特意重新学习下,记录下学习的过程。这样用的时候记不住了,还可以直接过来看自己的笔记。 > 文章很多内容来源于参考资料,感谢。 ### 1、条件编译简介 #### 1.1、为什么需要条件编译 在实际的 阅读全文
posted @ 2023-07-12 23:38 画个一样的我 阅读(1929) 评论(0) 推荐(0)
摘要:> 原文:[Golang标准库——io](https://www.jianshu.com/p/ae82a7436bff) ### 1、io > io包提供了对I/O原语的基本接口。本包的基本任务是包装这些原语已有的实现(如os包里的原语),使之成为共享的公共接口,这些公共接口抽象出了泛用的函数并附加 阅读全文
posted @ 2023-06-03 15:18 画个一样的我 阅读(316) 评论(0) 推荐(0)
摘要:本次主要介绍golang中的标准库`bytes`,基本上参考了 [字节 | bytes](https://cloud.tencent.com/developer/section/1140520) 、[Golang标准库——bytes](https://www.jianshu.com/p/e6f7f2 阅读全文
posted @ 2023-06-03 12:24 画个一样的我 阅读(875) 评论(0) 推荐(0)
摘要:最近熟悉 go 项目时,发现项目中有用到 github.com/yuin/gopher-lua 这个包,之前并没有接触过,特意去看了官方文档和找了些网上的资料,特此记录下。 本次介绍计划分为两篇文章,这一次主要介绍 github.com/yuin/gopher-lua 这个包的介绍以及基础使用,下一 阅读全文
posted @ 2023-05-13 16:42 画个一样的我 阅读(2882) 评论(0) 推荐(0)
摘要:本文内容来源于自己学习时所做的记录,主要来源于文章最后的参考链接,如有侵权,请联系删除,谢谢! etcd 是一个 key/value 类型的数据库。既然我们需要存储数据,必然会面临这样一个需求,即希望无论什么样的场景下,一组操作要么同时完成,要么都失败,哪怕数据库出现了故障,甚至了机器发生了宕机。幸 阅读全文
posted @ 2023-05-08 21:37 画个一样的我 阅读(1709) 评论(0) 推荐(1)
摘要:在实际开发过程中,有时候会遇到如何编写Go开机自启服务的需求,在linux中我们可以使用systemd来进行托管,windows下可以通过注册表来实现,mac下可以通过launchd来实现,上面的方式对于开发者来说,并不是什么困难的事情,但是对于使用者而言,是并不希望通过这么复杂的方式来达到开机自启 阅读全文
posted @ 2023-05-02 13:43 画个一样的我 阅读(3263) 评论(1) 推荐(4)
摘要:最近项目中用到了boltdb这个go开发的key/value 数据库,但是之前并有接触过,所以特意去看了官方,也找了些资料,网上找的资料要不就是官方文档的翻译,要不就是简单的介绍一点,都不是很全,所以这里记录下。话不多说,冲! 本篇文章是参考了官方的文档,内容和官方的基本一致,只是加了些自己的理解在 阅读全文
posted @ 2023-04-30 18:08 画个一样的我 阅读(1983) 评论(0) 推荐(0)
摘要:最近项目中用到了boltdb这个go开发的key/value 数据库,但是之前并有接触过,所以特意去看了官方,也找了些资料,网上找的资料要不就是官方文档的翻译,要不就是简单的介绍一点,都不是很全,所以这里记录下。话不多说,冲! 本篇文章是参考了官方的文档,内容和官方的基本一致,只是加了些自己的理解在 阅读全文
posted @ 2023-04-30 18:08 画个一样的我 阅读(1983) 评论(0) 推荐(0)
摘要:> 本文讲解的是`golang.org/x/sync`这个包中的`errgroup` ### 1、errgroup 的基础介绍 学习过 Go 的朋友都知道 Go 实现并发编程是比较容易的事情,只需要使用`go`关键字就可以开启一个 goroutine。那对于并发场景中,如何实现`goroutine` 阅读全文
posted @ 2023-04-26 23:59 画个一样的我 阅读(872) 评论(0) 推荐(0)
摘要:> 本文讲解的是`golang.org/x/sync`这个包中的`errgroup` ### 1、errgroup 的基础介绍 学习过 Go 的朋友都知道 Go 实现并发编程是比较容易的事情,只需要使用`go`关键字就可以开启一个 goroutine。那对于并发场景中,如何实现`goroutine` 阅读全文
posted @ 2023-04-26 23:59 画个一样的我 阅读(872) 评论(0) 推荐(0)