简单聊一聊Go语言中的数组和切片

目录1. 数组
2. 切片(Slice)
append 函数
总结1. 数组
数组是一个由固定长度的特定类型元素组成的序列,一个数组可以由零个或多个元素组成。因为数组的长度是固定的,因此在 Go...

Golang 标准库 tips之waitgroup详解

WaitGroup 用于线程同步,很多场景下为了提高并发需要开多个协程执行,但是又需要等待多个协程的结果都返回的情况下才进行后续逻辑处理,这种情况下可以通过 WaitGroup 提供的方...

golang内置函数len的小技巧

len是很常用的内置函数,可以测量字符串、slice、array、channel以及map的长度/元素个数。不过你真的了解len吗?也许还有一些你不知道的小知识。我们来看一道GO101的题目,这题也...

在 Golang 中实现一个简单的Http中间件过程详解

本文主要针对Golang的内置库 net/http 做了简单的扩展,通过添加中间件的形式实现了管道(Pipeline)模式,这样的好处是各模块之间是低耦合的,符合单一职责原则,可以很灵活的通过中...

Golang中实现简单的Http Middleware

本文主要针对Golang的内置库 net/http 做了简单的扩展,通过添加中间件的形式实现了管道(Pipeline)模式,这样的好处是各模块之间是低耦合的,符合单一职责原则,可以很灵活的通过中...

Golang 实现 Redis系列(六)如何实现 pipeline 模式的 redis 客户端

本文的完整代码在github.com/hdt3213/godis/redis/client通常 TCP 客户端的通信模式都是阻塞式的: 客户端发送请求 -> 等待服务端响应 -> 发送下一个请求。因为需要等待网络...

Golang科学计数法转换string数字输出的实现

目录1、问题
2、问题修复
3、总结
1、问题
最近接手一个商城运单号模块,接手后发现有部分运单号返回给前端是按照科学计数法的方式返回,如:8.0497183772403904E+17,后查库发现这...

go项目中环境变量的配置

目录一、为什么要配置文件二、在go中使用配置文件三、使用结构体的方式读取四、区分开发环境和生产环境五、在gin中集成配置文件一、为什么要配置文件1、容易编辑,配置比较集...

Go语言应该什么情况使用指针

目录什么是指针
指针的声明和定义
var 关键字声明
new 函数声明
指针的操作
指针参数
指针接收者什么情况下使用指针什么是指针
我们都知道,程序运行时的数据是存放在内存中...

Go语言死锁与goroutine泄露问题的解决

目录什么时候会导致死锁
发送单个值时的死锁
多个值发送的死锁
解决多值发送死锁
应该先发送还是先接收
goroutine 泄漏
如何发现泄露
小结
什么时候会导致死锁
在计算机组...

Go语言异常处理案例解析

异常处理 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常 golang中提供了两种处理异常的方式 一种是程序发生异常时, 将...

Go语言非main包编译为静态库并使用的示例代码

Go语言项目中基本上都是以源码的形式提供包,对公司或者企业而言,如果想要隐藏关键代码怎么办?
我们可以将Go的非main包编译为静态库提供给用户使用。下面以Windows为例,介绍一下...

Go并发控制Channel使用场景分析

1. 前言channel一个类型管道,通过它可以在goroutine之间发送和接收消息。它是Golang在语言层面提供的goroutine间的通信方式。Channel是Go中的一个核心类型,你可以把它看成一...

GO实现协程池管理的方法

使用channel实现协程池通过 Channel 实现 Goroutine Pool,缺点是会造成协程的频繁开辟和注销,但好在简单灵活通用。package mainimport ( "fmt" "io/ioutil" "net/http" "syn...

基于Go语言构建RESTful API服务

目录什么是 RESTful API
一个简单的 RESTful API
RESTful JSON API
Gin 框架
引入 Gin 框架
使用 Gin 框架
新增一个用户
获取特定的用户
总结
在实际开发项目中,你编写的服...

Go语言实现Base64、Base58编码与解码

目录1. 常见的编码
2. go语言实现base64的编码与解码
2.1 Base64编码原理
2.2 实现Base64的编码与解码
3. go语言实现base58编码与解码
3.1 base58的编码过程3.2 base58编解...

Go语言运算符案例讲解

算数运算符 算数运算符和C语言几乎一样 运算符 描述 实例 + 相加...

Go每日一库之dateparse处理时间

目录简介
快速使用
格式
时区
cli
总结
参考简介
不管什么时候,处理时间总是让人头疼的一件事情。因为时间格式太多样化了,再加上时区,夏令时,闰秒这些细枝末节处理起来更是困难...

golang的串行处理和并行处理区别

程序运算时往往需要数据,而数据的IO又往往需要时间传输,而常见的串行处理,是一个任务处理完成才接着处理新的任务, 其效率低下可想而知。 假如有3个任务要处理,而每个任务都有一...

Go并发控制WaitGroup的使用场景分析

1. 前言上一篇介绍了 Go并发控制--Channel使用channel来控制子协程的优点是实现简单,缺点是当需要大量创建协程时就需要有相同数量的channel,而且对于子协程继续派生出来的协...

浅析golang开发Error的使用详解

Error是Go语言开发中最基础也是最重要的部分,跟其他语言的try catch的作用基本一致,想想在PHP JAVA开发中,try catch 不会使用,或者使用不灵活,就无法感知到程序运行中出现了什么...

修改并编译golang源码的操作步骤

最近为了做Hyperledger Fabric国密改造,涉及到了golang源码的改动。特将操作过程整理如下,以供参考:golang的源码安装其实比较简单,只需运行源码包中的脚本src/all.bash,等到出现...

Go语言指针使用分析与讲解

普通指针 和C语言一样, 允许用一个变量来存放其它变量的地址, 这种专门用于存储其它变量地址的变量, 我们称之为指针变量 和C语言一样, Go语言中的指针无论是什么类型...

Go每日一库之quicktemplate的使用

目录简介
快速使用
语法结构
变量
调用函数
Web
总结
参考简介
最近在整理我们项目代码的时候,发现有很多活动的代码在结构和提供的功能上都非常相似。为了方便今后的开发,我...

K8s部署发布Golang应用程序的实现方法

目录创建dockerfile

打包并且推送

创建namespace

创建deployment

创建service

创建ingress

创建hpa

alertGo程序可以参考上篇文章,主要用于alertmanager实现钉钉报警
创建doc...

返回顶部
顶部