Golang实现异步上传文件支持进度条查询的方法

业务背景
业务需求要求开发一个异步上传文件的接口,并支持上传进度的查询。需求分析
ZIP压缩包中,包含一个csv文件和一个图片文件夹,要求:解析csv数据存入mongo,将图片文件夹中的...

使用 Go 管理版本的方法示例

简介
如果你曾经运行过 docker version,
就会发现它提供了很多信息:PS C:\Users\tzh> docker versionClient: Docker Engine - Community Version: 19.03.4 API versio...

使用Go进行单元测试的实现

简介
日常开发中, 测试是不能缺少的.
Go 标准库中有一个叫做 testing 的测试框架, 可以用于单元测试和性能测试.
它是和命令 go test 集成使用的.
测试文件是以后缀 _test.g...

浅析go中的map数据结构字典

1. map的使用  golang中的map是一种数据类型,将键与值绑定到一起,底层是用哈希表实现的,可以快速的通过键找到对应的值。  类型表示:map[keyType][valueType] key一定要是可...

Go中recover与panic区别详解

概念
panic 与 recover 是 Go 的两个内置函数,这两个内置函数用于处理 Go 运行时的错误。panic用于主动抛出错误, recover 用来捕获panic 抛出的错误。func main() { //捕获...

golang 网络框架之gin的使用方法

golang 原生 http 库已经可以很方便地实现一个 http server 了,但对于复杂的 web 服务来说,路由解析,请求参数解析,对象返回等等,原生 api 就显得有些不太够用了,而 gin 是一个功...

分享6个Go处理字符串的技巧小结

如果你从 Ruby 或者 Python 转型到 Go,将会有很多语言差异需要学习,其中很多问题都是围绕处理 string 类型。
下面是一些字符串的技巧,这些技巧解决了我在使用 Golang 的最初几...

浅谈用Go构建不可变的数据结构的方法

共享状态是比较容易理解和使用的,但是可能产生隐晦以至于很难追踪的 bugs。尤其是在我们的数据结构只有部分是通过引用传递的。切片就是这么一个很好的例子。后续我会作出更...

golang实现对docker容器心跳监控功能

自己写的go程序放到线上本来编译成二进制扔上去就行啦,但是怀着一颗docker的心,最终还是将它放到docker容器中运行起来了,运行起来也ok,一个最小容器64M,统一管理起来也方便,但是...

Golang实现请求限流的几种办法(小结)

在开发高并发系统时,有三把利器用来保护系统:缓存、降级和限流。那么何为限流呢?顾名思义,限流就是限制流量,就像你宽带包了1个G的流量,用完了就没了。简单的并发控制
利用 channe...

浅谈Go中数字转换字符串的正确姿势

在许多语言中,你可以轻松地将任何数据类型转换为字符串,只需将其与字符串连接,或者使用类型转换表达式即可。但是,如果你在Go中尝试执行似乎很明显的操作(例如将int转换为字符串),...

golang之反射和断言的具体使用

1. 反射
反射这个概念绝大多数语言都有,比如Java,PHP之类,golang自然也不例外,反射其实程序能够自描述和自控制的一类机制。
比如,通过PHP的反射,你可以知道一个类有什么成员,有什...

Go 高效截取字符串的一些思考

最近我在Go Forum 中发现了String size of 20 character 的问题,“hollowaykeanho” 给出了相关的答案,而我从中发现了截取字符串的方案并非最理想的方法,因此做了一系列实验并...

Go语言实现钉钉发送通知

具体代码如下所示:package mainimport ( "bufio" "io" "fmt" "io/ioutil" "os/exec" "net/http" "os" "strings")func GetKey() (timestamp string ,sign string, er...

golang环形队列实现代码示例

Summary 什么是环形队列 实现环形队列图示过程 golang版本代码实现过程 参考全部代码什么是环形队列在一个指定大小的数组里循环写入数据,借用二个指针分别实现入队标记...

golang执行命令获取执行结果状态(推荐)

这几天在用golang写一个工具,要执行外部命令工具,而且还要将外部命令工具输出的日志也要输出出来。网上找了一下,资料很多,关键是执行的结果成功或失败状态没找到好的方法获取到...

Go 如何基于IP限制HTTP访问频率的方法实现

如果你运行 HTTP 服务,并且希望限制 HTTP 的访问频率,那么你可以借助一些比较稳定的工具,例如: github.com/didip/tollbooth。不过如果你构建的应用比较简单,也可以自己来实现。...

如何利用Golang解析读取Mysql备份文件

前言
前期误操作,导致数据库表删除,虽然数据量不多,但是通过binlog恢复比较麻烦,通过备份文件来恢复,备份文件达36个G打开都是问题;使用备份文件恢复
大文件编辑器,glogg-latest-x8...

Go中如何使用set的方法示例

今天来聊一下 Go 如何使用 set,本文将会涉及 set 和 bitset 两种数据结构。Go 的数据结构
Go 内置的数据结构并不多。工作中,我们最常用的两种数据结构分别是 slice 和 map,即...

Go 防止 goroutine 泄露的方法

概述Go 的并发模型与其他语言不同,虽说它简化了并发程序的开发难度,但如果不了解使用方法,常常会遇到 goroutine 泄露的问题。虽然 goroutine 是轻量级的线程,占用资源很少,但如...

golang生成指定位数的随机数的方法

1.随机数随机数,是使用一个确定性的算法计算出来随机数序。在程序开发中经常需要产生随机数,如随机数验证码登陆、作为唯一身份标识数据等等。2.rand库golang中产生随机数主要...

golang中之strconv包的具体使用方法

在编程过程中,我们常常需要用到字符串与其它类型的转换,strconv包可以帮我们实现此功能。1.string -> int
使用方法:func Atoi(s string) (i int, err error)
测试代码:func Ato...

使用Go添加HTTPS的实现代码示例

简介
现在的网站没有 HTTPS 都不好意思见人了.超文本传输安全协议(英语:HyperText Transfer Protocol Secure,缩写:HTTPS;常称为 HTTP over TLS、HTTP over SSL 或 HTTP Secure)是...

使用Go实现优雅重启服务功能

暴力的重启服务方案一般服务器重启可以直接通过 kill 命令杀死进程,然后重新启动一个新的进程即可。但这种方法比较粗暴,有可能导致某些正在处理中的客户端请求失败,如果请求正...

golang实现redis的延时消息队列功能示例

前言在学习过程中发现redis的zset还可以用来实现轻量级的延时消息队列功能,虽然可靠性还有待提高,但是对于一些对数据可靠性要求不那么高的功能要求完全可以实现。本次主要采...

返回顶部
顶部