Golang 中反射的应用实例详解

目录引言Golang类型设计原则Golang 中为什么要使用反射/什么场景可以(应该)使用反射举例场景:反射的基本用法反射的性能分析与优缺点测试反射结构体初始化测试结构体字段读取/...

Golang官方限流器库实现限流示例详解

目录前言例子实现小结前言在翻Golang官方库的过程中,发现一个有趣的库golang.org/x/time ,里面只有一个类rate,研究了一下发现它是一个限流器,实现了很多的功能,当然它的核心原理...

Go使用select切换协程入门详解

目录前言程序示例select 特性预览管道读写总结前言在 Go 中,可以通过关键字 select 来完成从不同的并发执行的协程中获取值,它和 switch 控制语句非常相似,也被称作通信开关;它...

多阶段构建优化Go 程序Docker镜像

目录引言构建 Docker 镜像是否可以再减小 Docker 镜像的大小?引言多阶段构建方式,是在 Dockerfile 中使用多个 FROM 指令,每个 FORM 指令都是一个新的构建阶段,并且可以方便地复...

Golang 内存管理简单技巧详解

目录引言预先分配切片结构中的顺序字段使用 map[string]struct{} 而不是 map[string]bool引言除非您正在对服务进行原型设计,否则您可能会关心应用程序的内存使用情况。内存...

go日志库中的logrus

一、安装go get github.com/sirupsen/logrus二、使用1、当做标准库使用logrus实现了标准库log的方法,可以用标准库的方法用于logrus,例如import ( log "github.com/sirupsen...

golang中使用匿名结构体的方法

目录转化为map定义具名结构体定义匿名结构体在一些项目中, 我们会使用json 来将字符串转为结构体,但是很多时候,这种结构体只会用一次,基本上只会用于反序列化, 对于这种只...

Go Java算法之单词搜索示例详解

目录单词搜索算法:DFS回溯(Java)算法:DFS回溯(Go)单词搜索给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词...

Golang 单元测试和基准测试实例详解

目录前言Go 单元测试单元测试覆盖率基准测试前言多人协作的项目里,要保证代码的质量,自然离不开单元测试。开发完一个功能后肯定要对所写的代码进行测试,测试没有问题之后再合...

Go通过不变性优化程序详解

目录正文减少对全局或外部状态的依赖仅导出结构体的函数,而不是成员变量在函数中使用复制值,而不是使用指针总结正文不变性的概念非常简单,在您创建结构体后,就永远无法修改它。...

带你在Go test中体验jest的安装使用

目录正文安装使用正文二话不说,先上图:图中我们看到,当你启动 gojest 命令后,可以进行交互式的测试。按 f 键聚焦第一个失败的用例当你保持时,可以自动重测精简了测试信息有了这...

一文带你入门Go语言中定时任务库Cron的使用

目录前言快速开始安装导入DemoCron表达式格式标准格式预定义时间表常用的方法介绍new()AddJob()AddFunc()Start()相关推荐Go第三方库之cronexpr——解析 crontab...

Go Excelize API源码阅读GetPageLayout及SetPageMargins

目录一、Go-Excelize简介二、 GetPageLayout三、SetPageMargins一、Go-Excelize简介Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 2950...

go swagger生成接口文档使用教程

目录前言Swagger介绍1、安装2、检测是否安装成功3、安装gin-swagger扩展使用1、添加注释2、生成接口文档数据3、引入gin-swagger渲染文档数据总结前言这篇文章主要介绍了Go...

Go Java算法之单词规律示例详解

目录单词规律方法一:哈希表(Java)方法一:哈希表(GO)单词规律给定一种规律 pattern 和一个字符串 s ,判断 s 是否遵循相同的规律。这里的 遵循 指完全匹配,例如, pattern 里的每个字母...

Go WaitGroup及Cond底层实现原理

目录WaitGroup概念底层数据结构使用方法Cond概念底层数据结构使用方法WaitGroup概念Go标准库提供了WaitGroup原语, 可以用它来等待一批 Goroutine 结束底层数据结构// A Wai...

Go java 算法之括号生成示例详解

目录括号生成方法一:深度优先遍历(java)方法一:深度优先遍历(go)括号生成数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:输入:n =...

go 熔断原理分析与源码解读

目录正文熔断原理熔断器实现hystrixBreaker和googlebreaker对比源码解读结束语正文熔断机制(Circuit Breaker)指的是在股票市场的交易时间中,当价格的波动幅度达到某一个限定的...

Golang errgroup 设计及实现原理解析

目录开篇errgroup 源码拆解GroupWithContextWaitGoSetLimitTryGo使用方法结束语开篇继上次学习了信号量 semaphore 扩展库的设计思路和实现之后,今天我们继续来看 golang.org...

Go语言实战学习之流程控制详解

目录1. 前言2. if分支3. for及for-range循环4. switch-case-fallthrough分支5. goto6. break和continue7. 跳出嵌套循环8. 最后1. 前言这里还是再总结一下流程控制,和其它语...

Golang 基于flag库实现一个简单命令行工具

目录前言flag 库FlagSet需求拆解实现 weather flag天气数据打印获取源数据数据转换运行效果小结前言Golang 标准库中的 flag 库提供了解析命令行选项的能力,我们可以基于此来...

一文解析 Golang sync.Once 用法及原理

目录前言1. 定位2. 对外接口3. 实战用法3.1 初始化3.2 单例模式3.3 关闭channel4. 原理5. 避坑前言在此前一篇文章中我们了解了 Golang Mutex 原理解析,今天来看一个官方给出...

go语言 nil使用避坑指南

目录引言nil默认值nil (重点记住)nil没有默认类型不同类型的nil值占用的内存大小可能是不一样的不同类型 nil 的指针是一样的不同类型的 nil 是不能比较的引言今天笔试题遇...

Go语言开发保证并发安全实例详解

目录什么是并发安全?Mutex悲观锁乐观锁版本号机制CAS互斥锁读写互斥锁什么是并发安全?在高并发场景下,进程、线程(协程)可能会发生资源竞争,导致数据脏读、脏写、死锁等问题,为了避...

如何在Go中使用Casbin进行访问控制

目录Casbin是什么Casbin的工作原理Casbin的核心概念ModelPolicy实践创建项目代码开发验证Casbin是什么Casbin是一个强大的、高效的开源访问控制框架,其权限管理机制支持多种...

返回顶部
顶部