记一次go语言使用time.Duration类型踩过的坑

目录01 踩到的坑02 time.Duration的真实面目03 问题解决04 time.Duration编程实践05 总结01 踩到的坑先来说说在项目中踩到的使用time.Duration类型的坑。我们的背景是要做...

解析Golang中的GoPath和GoModule

目录什么是GoPath?什么是GoModule?GoModule的设置GoModule无法下载国外的依赖包问题
在Golang中,有两个概念非常容易弄错,第一个就是GoPath,第二个则是GoModule,很多初学者不清楚...

浅谈Go切片的值修改是否会覆盖数组的值 

目录切片与数组数组切片的值修改修改切片不覆盖数组的值切片的扩容机制切片不小于1024切片源码切片与数组数组数组是具有相同 唯一类型 的一组以编号且长度固定的数据项序列...

golang数组和切片作为参数和返回值的实现

目录1. 数组作为参数和返回值时1.1数组的定义1.2数组作为参数和返回值的时候2.切片作为参数和返回值2.1 切片的定义初始化2.2 切片的存储大致分为3部分2.3 切片作为参数和返...

go实现一个分布式限流器的方法步骤

目录1. 接口定义2. LocalCounterLimiter3. LocalTokenBucketLimiter4. RedisCounterLimiter5. RedisTokenBucketLimiter项目中需要对 api 的接口进行限流,但是麻烦的是,api 可...

Go语言的数据结构转JSON

目录结构体转为 JSON 格式接口转为 JSON 格式Marshal() 函数的原型总结在日常工作中,除了需要从 JSON 转化为 Go 的数据结构。但往往相反的情况是:我们需要将数据以 JSON 字符...

Golang语言JSON解码函数Unmarshal的使用

目录前言func Unmarshal普通JSONJSON内嵌普通JSONJSON内嵌数组JSONJSON内嵌具有动态Key的JSON总结前言工作中我们经常会遇到解码JSON格式的数据,本文通过4个示例介绍工作中常...

Go 加密解密算法小结

目录前言md5hmacsha1AESECB模式CBC模式CRT模式CFB模式 OFB模式RSA加密参考:前言加密解密在实际开发中应用比较广泛,常用加解密分为:“对称式”、“非对称式&rdq...

Go语言读取txt文档的操作方法

读取文件是所有编程语言中最常见的操作之一。本教程我们将了解如何使用 Go 读取txt文档。文档内容每行是一个文件名信息,含有空格区分不同项;ioutil.ReadFile返回的是[]bytes...

go语言限制协程并发数的方案详情

目录前言一、使用带缓冲的通道限制并发数1.1方案详情1.2评估总结2.2评估总结其它前言在使用协程并发处理某些任务时, 其并发数量往往因为各种因素的限制不能无限的增大. 例...

如何在Golang中运行JavaScript

我们知道,在 Python 里面,如果你要运行一段 JavaScript,你可以使用execJS这种第三方库。那么在 Golang 里面,你想运行 JavaScript 的时候又应该怎么办呢?最近我发现一个使用 Gola...

深入理解Golang的反射reflect示例

目录编程语言中反射的概念interface 和 反射Golang的反射reflectreflect的基本功能TypeOf和ValueOf说明从relfect.Value中获取接口interface的信息已知原有类型【进行&ldquo...

对Go语言中的context包源码分析

目录一、包说明分析二、包结构分析三、Context接口类型分析四、后续分析规划五、基于实现类型到常用函数六、With-系列函数七、扩展功能以及如何扩展八、补充一、包说明分析...

Go 使用xorm操作mysql详情

目录xorm安装生成数据结构 struct使用 xormxorm官方介绍:xorm 是一个简单而强大的 Go 语言 ORM 库。通过它可以使数据库操作非常简便。xorm 的目标并不是让你完全不去学习 SQ...

GoLang桥接模式的实现示例

桥接模式是一种结构型设计模式,通过桥接模式可以将抽象部分和它的实现部分分离。这看着有点儿奇怪,接下来会作详细说明。桥接模式建议将一个较大的类拆分成两中角色。抽象角色...

Go Error 嵌套实现创建方式

目录创建 Errorerrors.New()fmt.Errorf()Wrap Error后记Go Error 的设计哲学是 「Errors Are Values」。这句话应该怎么理解呢?翻译起来挺难的。不过从源码的角度来看,好像更...

Go中变量命名规则与实例

目录前言命名习惯很重要良好命名喜欢的特质经验法则大小写混用的变量名变量名避免冗余函数参数的命名返回值的命名方法 Receiver 的命名导出 package 级别变量命名接口类型e...

Go结合Redis用最简单的方式实现分布式锁

目录前言单Redis实例场景加解锁示例小结多Redis实例场景加解锁示例小结总结前言在项目中我们经常有需要使用分布式锁的场景,而Redis是实现分布式锁最常见的一种方式,并且我们...

Go语言实现枚举的示例代码

在编程领域里,枚举用来表示只包含有限数量的固定值的类型,在开发中一般用于标识错误码或者状态机。拿一个实体对象的状态机来说,它通常与这个对象在数据库里对应记录的标识状态...

golang如何操作csv文件详解

目录练习要求:考察点:编码:README.md附:使用Golang导出CSV数据并解决数据乱码问题CSV 格式实现方式golang实现csv数据写文件golang实现web导出csv数据总结练习要求:写一个小程...

Go interface{} 转切片类型的实现方法

遇到这样一个情况想将变量v转化为[]string类型var v interface{}a := []interface{}{"1", "2"}v = a // v 这时还是interface{} 但其实是个 []interface{}newValue := v.([]...

深入理解Golang Channel 的底层结构

目录make chan发送和接收Goroutine Pause/Resumewait empty channelGolang 使用 Groutine 和 channels 实现了 CSP(Communicating Sequential Processes) 模型,channles在 go...

Go实现用户每日限额的方法(例一天只能领三次福利)

目录工作原理go-zero 代码实现项目地址如果你写一个 bug 管理系统,用了这个 PeriodLimit 你就可以限制每个测试人员每天只能给你提一个 bug。工作是不是就轻松很多了?:P如今微...

Go语言空结构体详解

目录前言什么是空结构体特点地址相同大小为0原理探究使用场景集合(Set)channel中信号传输总结前言在使用 Go 语言开发过程中,我们不免会定义结构体,但是我们定义的结构体都是...

Golang中Map按照Value大小排序的方法实例

目录起因探索实现第一步第二步第三步总结总结Golang中的 map 默认是 无序的 。起因最近项目中有这样一个需求:根据用户当前的坐标点,获取该用户附近的预设城市名称。这里有一...

返回顶部
顶部