
Go
文章平均质量分 51
Klaus_S
这个作者很懒,什么都没留下…
展开
-
Gin 路由实现原理概述
Gin 路由的核心实现原理主要依赖于一个名为 trie(前缀树)的数据结构来管理路由规则。这个数据结构非常适合用于路径匹配,它能够高效地执行路径和 HTTP 方法的匹配。原创 2024-12-30 10:40:20 · 1118 阅读 · 0 评论 -
GORM 文档
全功能 ORM关联 (Has One,Has Many,Belongs To,Many To Many,多态,单表继承)Create,Save,Update,Delete,Find 中钩子方法支持 Preload、Joins 的预加载事务,嵌套事务,Save Point,Rollback To Saved PointContext、预编译模式、DryRun 模式批量插入,FindInBatches,Find/Create with Map,使用 SQL 表达式、Context Valuer 进行转载 2024-12-26 10:21:35 · 136 阅读 · 0 评论 -
Go net http包
自定义的Handler:标准库http提供了Handler接口,用于开发者实现自己的handler。只要实现接口的ServeHTTP方法即可。import ("log""net/http""time"我们知道,NewServeMux可以创建一个ServeMux实例,ServeMux同时也实现了ServeHTTP方法,因此代码中的mux也是一种handler。把它当成参数传给http.ListenAndServe方法,后者会把mux传给Server实例。原创 2023-09-19 11:08:52 · 721 阅读 · 0 评论 -
Go 发送邮件
要在Go中发送电子邮件,您可以使用第三方库,如 `gomail` 。原创 2023-07-28 15:32:42 · 720 阅读 · 0 评论 -
go map 设计与实现
map只是一个哈希表。数据被排列成一组bucket。每个bucket最多包含8个键/值对。哈希值的低位字节位用于选择bucket。每个bucket包含每个哈希的几个高位字节位(tophash),以区分单个桶中的条目。如果超过8个key哈希到同一个桶,我们将额外的桶以链表的方式起来。(解决哈希冲突,链表法)当哈希表扩容时,我们会分配一个两倍大的新bucket数组。然后bucket从旧bucket数组增量复制到新bucket数组。map迭代器遍历bucket。转载 2023-07-26 14:16:06 · 821 阅读 · 0 评论 -
Go 文件操作相关方法
在Go语言中,可以使用 os 和 io/ioutil 包来进行文件操作。以下是一些常用的文件操作方法: 1. 创建文件:2. 打开文件:3. 写入文件:4. 读取文件:5. 删除文件:6. 重命名文件:7. 复制文件:8. 获取文件信息:原创 2023-07-20 11:20:36 · 232 阅读 · 0 评论 -
Go 整形转成int64
【代码】Go 整形转成int64。原创 2023-07-20 11:14:11 · 179 阅读 · 0 评论 -
Go Signal信号处理
信号(Signal)是Linux, 类Unix和其它POSIX兼容的操作系统中用来进程间通讯的一种方式。对于Linux系统来说,信号就是软中断,用来通知进程发生了异步事件。当信号发送到某个进程中时,操作系统会中断该进程的正常流程,并进入相应的信号处理函数执行操作,完成后再回到中断的地方继续执行。有时候我们想在Go程序中处理Signal信号,比如收到SIGTERM信号后优雅的关闭程序,以及 goroutine结束通知等。Go 语言提供了对信号处理的包(os/signal)。原创 2023-07-19 11:24:51 · 727 阅读 · 0 评论 -
Go License 公钥 私钥 加密 解密
License 公钥 私钥 加密 解密原创 2023-07-18 14:31:47 · 458 阅读 · 0 评论 -
go 备份文件
【代码】go 备份文件。原创 2023-07-13 14:47:33 · 295 阅读 · 0 评论 -
go 生成 License 公钥 私钥
请注意,一个公钥可以对应多个私钥。原创 2023-07-13 14:46:33 · 757 阅读 · 0 评论 -
Go 定时任务方法封装
函数中,我们创建一个定时任务对象,每隔5秒执行一次打印操作。然后启动定时任务,并等待10秒后停止定时任务。函数用于创建一个新的定时任务对象,接受一个时间间隔和一个函数作为参数。方法用于停止定时任务,通过关闭。在上述示例中,我们定义了一个。方法用于启动定时任务,使用。通道来通知定时任务停止执行。结构体来封装定时任务。来定期执行传入的函数。在Go语言中,可以使用。原创 2023-06-28 16:31:37 · 503 阅读 · 0 评论 -
Go 删除文件方式
在Go语言中,可以使用 os 包中的 Remove 函数来删除文件。以下是一个简单的示例:filePath 是要删除的文件的路径。 os.Remove 函数用于删除指定路径的文件。如果删除成功,函数将返回 nil ,否则将返回一个 error 对象,您可以根据需要进行错误处理。原创 2023-07-05 09:55:44 · 845 阅读 · 0 评论 -
简单的 Go gRPC 例子
现在,我们可以运行服务端和客户端来测试我们的 gRPC 服务了。实例,并将我们的服务注册到该实例上。文件,其中包含我们定义的服务和消息的 Go 代码。文件来定义我们的服务和消息。方法来响应客户端的请求。方法来连接到服务端,然后创建一个。在这个例子中,我们定义了一个名为。最后,我们输出响应的消息。方法来启动服务端并监听端口。在这个例子中,我们首先使用。然后,我们需要定义一个。这将在当前目录下生成。原创 2023-06-26 09:55:11 · 275 阅读 · 0 评论 -
Go 微服务 以及 DDD 详解
这可以通过使用接口和依赖注入来实现。我们可以定义接口来表示业务逻辑,然后使用依赖注入来将实现注入到服务中。每个服务都有自己的数据存储和业务逻辑,可以使用不同的编程语言和技术栈实现。它强调了领域模型的重要性,通过将业务逻辑和数据模型分离来实现可维护性和可扩展性。这个示例只是一个简单的演示,实际上在实现微服务和DDD时,我们需要更加细致地设计和实现我们的领域模型和服务接口,以确保代码的可维护性和可扩展性。Go 微服务和DDD(领域驱动设计)是两个独立的概念,但它们可以一起使用来构建可扩展的分布式系统。原创 2023-06-26 09:54:53 · 885 阅读 · 0 评论 -
go 返回指定目录下面的文件
【代码】go 返回指定目录下面的文件。原创 2023-05-23 10:22:35 · 210 阅读 · 0 评论 -
go 判断一个文件或文件夹是否存在
【代码】go 判断一个文件或文件夹是否存在。原创 2023-05-23 10:21:35 · 308 阅读 · 0 评论 -
go 执行shell脚本 在指定目录下执行指定脚本
【代码】go 执行shell脚本 在指定目录下执行指定脚本。原创 2023-05-23 10:19:50 · 627 阅读 · 0 评论 -
Go 如何在切片中查找指定参数
【代码】Go 如何在切片中查找指定参数。原创 2023-05-23 10:17:32 · 233 阅读 · 0 评论 -
go获得项目根目录
【代码】go获得项目根目录。原创 2023-05-23 10:17:05 · 440 阅读 · 0 评论 -
Go 生成一个随机数
【代码】Go 生成一个随机数。原创 2023-05-23 10:15:43 · 438 阅读 · 0 评论 -
通过jwt基于token实现登陆认证通过jwt基于token实现登陆认证
【代码】通过jwt基于token实现登陆认证通过jwt基于token实现登陆认证。原创 2023-05-23 10:13:28 · 248 阅读 · 0 评论 -
go 如何判断一个字符串是否在切片列表里
【代码】go 如何判断一个字符串是否在切片列表里。原创 2023-05-19 15:57:40 · 674 阅读 · 0 评论 -
go如何获取一周前,一天前的时间
【代码】go如何获取一周前,一天前的时间。原创 2023-05-19 15:56:59 · 1136 阅读 · 0 评论 -
go获取主机IP
【代码】go获取主机IP。原创 2023-05-19 15:56:26 · 240 阅读 · 0 评论 -
通过jwt基于token实现登陆认证通过jwt基于token实现登陆认证
【代码】通过jwt基于token实现登陆认证通过jwt基于token实现登陆认证。原创 2023-05-19 15:55:13 · 166 阅读 · 0 评论 -
Gin跨域问题
【代码】Gin跨域问题。原创 2023-05-19 15:54:37 · 389 阅读 · 0 评论 -
Go处理中文 string 转为 rune 数组
【代码】Go处理中文 string 转为 rune 数组。原创 2023-05-19 15:53:43 · 667 阅读 · 0 评论 -
go map进行有序的排序
1、遍历map,将map的key值存入一个切片。3、遍历切片,输出对应的map的值。原创 2023-05-19 15:52:04 · 493 阅读 · 0 评论 -
go语言中五种字符串的拼接方式
【代码】go语言中五种字符串的拼接方式。原创 2023-05-19 15:51:22 · 769 阅读 · 0 评论 -
golang 中string和int类型相互转换
【代码】go语言中五种字符串的拼接方式。原创 2023-05-19 15:50:56 · 617 阅读 · 0 评论 -
go字符串转切片和切片转字符串
【代码】go字符串转切片和切片转字符串。原创 2023-05-19 15:50:50 · 426 阅读 · 0 评论 -
Go 封装 mongo
【代码】Go 封装 mongo。原创 2023-05-18 14:34:47 · 346 阅读 · 0 评论 -
Go http包建立Web服务器
【代码】Go http包建立Web服务器。原创 2023-05-18 14:19:28 · 68 阅读 · 0 评论 -
Linux 安装指定版本golang
【代码】Liunx 安装指定版本golang。原创 2023-05-17 10:43:14 · 608 阅读 · 0 评论 -
go语言中的测试
测试文件的命名是有一套规则的,通常是某个文件相对应的测试文件,比如`app.go`的测试文件就是`app_test.go`原创 2023-05-15 15:25:08 · 737 阅读 · 0 评论 -
Go 文件操作
目录。原创 2023-05-11 10:26:45 · 1741 阅读 · 0 评论 -
Win Go 版本控制
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-msjxMvAC-1683771876373)(null)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tn67iwux-1683771876620)(null)]如果 Goland import 有报错,就需要调整下。针对 Windows 需要 将原有的。查询已安装到本地的 go版本。切换到另一个已安装的go版本。查询可供安装的所有go版本。卸载一个已安装的go版本。原创 2023-05-11 10:25:45 · 144 阅读 · 0 评论 -
Go RPC
目录。原创 2023-05-11 10:23:04 · 1194 阅读 · 0 评论 -
Go 23种设计模式
抽象工厂模式基于工厂方法模式。两者的区别在于:工厂方法模式是创建出一种产品,而抽象工厂模式是创建出一类产品。这二种都属于工厂模式,在设计上是相似的。假设,有一个存储工厂,提供redis和mysql两种存储数据的方式。如果使用工厂方法模式,我们就需要一个存储工厂,并提供SaveRedis方法和SaveMysql方法。如果此时业务还需要分成存储散文和古诗两种载体,这两种载体都可以进行redis和mysql存储。原创 2023-05-11 10:22:02 · 2504 阅读 · 1 评论