1.并发测试 这里Windows电脑端编辑器使用 goland。 a.代码 goroutine.go: package main import ( "fmt" "time" ) func newTask() { i :=…
分类:Go
自定义协议和Golang实现
自定义协议和Golang实现 写在这里一是做一下总结在忘的时候方便查看,二是如果文章有错误请各位大佬喷我哈哈,欢迎指正。如果能帮到别人也挺好的。 协议 所谓协议就是指定一系列规则,这些规则使想要交流的双方或多方可以正常通…
设计模式-03-生成器模式
生成器模式 概述 生成器模式将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示。生成器模式的主要功能是构建复杂的产品,而且是细化地、分步骤地构建产品,也就是说生成器模式重在一步一步解决构建复杂对象的…
[golang] logrus的简单封装
在大型项目中,使用logrus进行日志打印,如不加一些如[usecase.CreateUser]前缀,将会很难定位到打印日志的代码位置。故study-only/logrus-ext借鉴了python的logging模块,…
Go Gin源码学习(五) 基数树自我实现
Gin路由主要流程实现 经过上一篇的学习笔记,我们已经知道了Gin router的主要流程。但是我们看到代码和方法体总体很长,其中大部分是参数路由的判断。这些零散的小逻辑,让我们阅读源码的时候更难理解了一些。但是其实基数…
golang多版本管理器
g是一个Linux、macOS、Windows下的命令行工具,可以提供一个便捷的多版本go环境的管理和切换。 特性 支持列出可供安装的go版本号 支持列出已安装的go版本号 支持在本地安装多个go版本 支持卸载已安装的g…
# golang 数据结构 2
golang 数据结构1 channel atomic sync.Mutex sync.WaitGroup sync.Pool sync.Map channel Go 教程系列笔记 Channel 通道 The way …
go标准库(fmt)学习
go标准库(fmt)学习 每种编程语言都有自己的格式化输入和输出。c语言是通过标准输入输出库(stdio),python语言是语言的一部分(print)。go语言是通过库(fmt)来实现格式化输入输出的功能。 1 打印 …
gRPC golang 初步接触
概述 gRPC使用protocol buffers作为 IDL(Interface Definition Language), 提供一种跨平台,跨语言的RPC(远程过程调用)机制,本文通过示例程序介绍gRPC基本使用。 …
Go Micro Client 源码分析
概述 Client 主要是用来执行请求服务和订阅发布事件。是对于broker,Transort的一种封装方便使用。 Init 初始化客户端函数 初始化连接池数量和连接池TTL 调用注入的opts函数列表 最后初始化连接池…
[Go 教程系列笔记]结构而不是类-Go中的OOP
Go 教程系列笔记 Interface 第一部分 Go 教程系列笔记 Interface 第二部分 Go 教程系列笔记 并发介绍 Go 教程系列笔记 goroutine(协程) Go 教程系列笔记 Channel 通道 …
Go的调试工具:gdb vs dlv
GoLand编辑器虽然很强大,但是在展示内存及堆栈信息这一块还是比较的弱,有可能是我的姿势不对,所以,开始切入了gdb调试,但是gdb踩到了坑,并没有解决,也就引发了gdb与dlv的对比了 gdb 安装 yum inst…