golang
骑着蜗牛追汽车
未来美不美,取决于你现在拼不拼
展开
-
使用golang实现一个简易的http负载均衡器
使用golang实现一个简易的http负载均衡器。原创 2024-05-16 23:27:09 · 142 阅读 · 1 评论 -
golang etcd事务使用教程
etcd`提供了事务支持,可以将多个操作打包成一个事务进行原子性的执行。这保证了在分布式环境中的数据的一致性和可靠性。原创 2023-09-22 11:25:41 · 221 阅读 · 0 评论 -
client/v3在etcd未启动/宕机的情况使用DialTimeout连接超时无效的解决方案
函数向etcd中插入一个key-value对,并设置了一个短的上下文超时时间为2秒。无法响应请求时,客户端将等待指定的时间,然后返回超时错误。设置为5秒来设置连接的超时时间。是 etcd 的官方 Go 语言客户端库。控制对etcd的请求的超时时间。未启动的情况下,连接无法建立。客户端的连接超时时间,可以使用。未启动etcd的情况下执行代码。仅在建立连接时起作用,而在。在上面的代码中,我们通过将。来控制连接超时时间。未启动时,无法通过设置。原创 2023-09-22 10:48:58 · 261 阅读 · 0 评论 -
golang随机获取当前系统上未被占用的一个端口
随机获取端口号可以使得微服务系统的部署过程更加自动化,减少了手动配置端口的工作量原创 2023-09-21 15:34:43 · 287 阅读 · 0 评论 -
go官方自带限流神器time/rate详细教程
Go 语言官方提供的一个限流库,用于在程序中限制特定操作的速率。该库使用了令牌桶算法,可以通过设置一个速率限制r(即每秒可以执行的操作数)和一个容量b(即令牌桶的大小)来控制操作的速率原创 2023-09-18 14:19:55 · 811 阅读 · 0 评论 -
Golang 标准库 time包日常用法详解
时间日期是编程中经常会用到的一种数据类型,在Golang中提供time包来处理时间相关的操作。本教程将详细介绍time包中常用函数和方法的示例原创 2023-09-16 11:32:11 · 119 阅读 · 1 评论 -
golang 获取今日、昨日、本周、本月 日期方法
注意:上述示例中,日期相关的处理均使用了本地时区(你可以根据需要,使用其他时区。函数获取当前时间,并结合。原创 2023-09-13 16:59:45 · 1352 阅读 · 0 评论 -
golang 版json_decode函数封装(PHP的json_decode()函数)
如果解析成功,打印解析后的数据;如果解析失败,打印解析失败的原因。提供了解析 JSON 数据的功能。可以使用这个库来封装。将 JSON 字符串解析为指定的类型并存入参数中。类型的参数,用于接收解析后的数据。这个函数接受一个 JSON 字符串和一个。以上代码中,将 JSON 字符串。希望这个封装函数能够满足你的需求!结构体类型,并将解析结果存入。在 Go 语言中,标准库。使用时,可以这样调用。原创 2023-09-13 16:54:03 · 171 阅读 · 0 评论 -
golang版本的Md5函数实现
在GO语言中,可以使用crypto/md5包来进行MD5的计算。函数,它接受一个字符串作为输入,并返回该字符串的MD5值。包将字节数组转换为十六进制表示的字符串。最终将计算得到的MD5值返回。函数,在函数内部会计算出MD5值并返回。你可以将要计算MD5值的字符串传递给。包提供的方法进行MD5计算,并通过。在这个例子中,定义了一个。原创 2023-09-13 16:48:01 · 439 阅读 · 0 评论 -
golang版本的in_array函数的实现
这个函数接收一个needle值和一个haystack切片。它遍历haystack切片中的每个元素,并与needle值比较。如果找到匹配的元素,函数返回true;否则返回false。在main函数中,我们创建一个切片arr,并使用inArray函数测试切片中是否包含特定的元素。原创 2023-09-13 16:32:52 · 289 阅读 · 0 评论 -
github.com/sirupsen/logrus 日志文件分割方法
Logrus 日志文件分割demo原创 2023-09-04 07:10:26 · 298 阅读 · 2 评论 -
Logrus库常用方法的说明
Logrus 提供了多个日志级别,如 `DebugLevel`、`InfoLevel`、`WarnLevel`、`ErrorLevel` 等,用户可以根据需要选择合适的日志级别。5. `logrus.WithFields(fields logrus.Fields) *logrus.Entry`:创建一个新的日志条目,并添加一组字段。除了上述方法,Logrus 还提供了其他一些常用的辅助方法,如 `WithTime` 方法用于设置日志的时间戳、`WithError` 方法用于设置日志的错误对象等。原创 2023-09-04 07:05:48 · 160 阅读 · 1 评论 -
github.com/bluele/gcache 自动加载值(Auto-loading)demo
作用:自动加载值是指在使用缓存库时,当获取一个键的值时,如果该键对应的值不存在,会自动调用指定的加载函数,加载该键对应的值,并将其缓存起来。这样可以简化开发者的缓存管理工作,减少缓存穿透的情况。可以看到,第一次获取键"foo"的值时,调用了加载函数,并成功地加载了值。而第二次获取键"foo"的值时,直接从缓存中获取到了之前加载的值,没有再调用加载函数。功能:自动加载值(Auto-loading)原创 2023-07-20 14:00:05 · 63 阅读 · 0 评论 -
golang官方自带的log日志库github.com/uber-go/zap 优缺点对比
总的来说,GitHub.com/uber-go/zap是一个更加先进和灵活的日志库,适合在性能要求较高且对日志格式要求较高的项目中使用,而官方自带的log库则适用于简单场景和对性能要求较低的项目。1. 学习成本较高:与官方自带的log库相比,zap的功能更加丰富,但也带来了一定的学习成本。2. 缺乏灵活性:官方自带的log库灵活性较低,不能满足一些特殊需求,比如结构化日志的输出。2. 内置支持:官方自带的log库是Go语言的标准库之一,不需要额外的依赖。原创 2023-07-20 13:53:11 · 336 阅读 · 0 评论