首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
golang
小嘴叭叭儿
创建于2023-02-10
订阅专栏
记录golang学习过程中的点点滴滴
等 13 人订阅
共18篇文章
创建于2023-02-10
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
一个问题让你搞清Golang数组和切片的变量复制
切片slice和数组array是golang中常见且重要的数据类型。一言以蔽之,从使用角度看来,数组是有固定长度的特殊切片;而切片是一个可以自动扩容的不定长数组。 但是两种数据类型在底层实现上又有着本
【golang开发小技巧】让你再也不用担心常驻协程退出
golang 是目前为止唯一一个在语言层面支持协程的编程语言。协程又被称为轻量级线程,具有资源占用低,调度速度快、轻量级等特点。也正因为如此,golang开发者可以更加方便的处理并发任务。生产-消费者
go-parallel: 一个并发任务处理工具
在日常开发过程中,通常我们会面对需要并发处理任务的需求,例如获取1000个商品的商品信息,但是接口只支持单次批量最多30个商品的限制,或者需要对多路召回商品的结果进行聚合操作。
go-web框架Gin特性介绍及实践(一)
截止目前为止,gin项目已经拥有 66.5k star 和 113.4k user,作为时下最流行的 高性能 go web 框架,gin 具有以下关键特性。
Gin多次读取request body 中的数据(附源码解析)
gin对于请求体body字节流多次读取的实现也经历了几个阶段,通过阅读 gin.context.go 的源码以及github中的问题及修复提交记录,我们可以看到gin开发者对于这个功能实现的整体脉络。
golang——Json分级解析及数字解析实践
在go语言开发过程中经常需要将json字符串解析为struct,通常我们都是根据json的具体层级关系定义对应的struct,然后通过json.Unmarshal()命令实现json到struct对象
go-keylock:一种细粒度的流程加锁方式
一、背景介绍 在并发编程过程中,为了保证某个数据结构或者某个处理流程在同一时刻只能被某一用户或者线程操作,通常会采取加锁的策略。但是在某些特定的场景下,直接使用sync.Mutex加锁的代价是巨大的。
mysql packet for query is too large问题排查
本文通过一次mysql packet for query is too large问题的排查经历,从go-mysql-driver源码层面解析问题出现的原因及解决方案。
golang-嵌套json的二次编码问题
在一次需求开发过程中,需要在服务B中将服务A产生的一部分数据透传给用户,这部分数据结构由服务A和用户决定,服务B只负责透传,但是这部分数据需要被封装在结构体Msg中透传哥给用户。于是计划将透传字段设置
golang-http几种常用内容类型(Content-Type)的客户端开发实例
在开发过程中,通常会遇到与其他服务做信息交换的情况,大多数情况下会通过http接口实现信息的交换。但是不同的服务接口指定的Content-Type类型是不同的。下文将通过实际的例子展示,常用的集中内容
goleng-set错误使用导致的内存泄漏
事情发生在公元2021年2月份,石同学接到了一个开发任务,考虑不到本章主要介绍golang-set相关的问题,因此开发任务简单理解为:开发一个条件过滤器,用于判断某一件商品的属性是否包含于预设的屏蔽规
golang-set包的用法及源码解析
1、 背景介绍 Set是一种基本的数据结构,它具备确定性、互异性、无序性三个特点。因此,在开发过程中我们通常用它来判断一些数据的集合与另一个数据集合或者元素的包含关系。在大部分开发语言中set都是一种
golang数组和切片的区别
数组是由相同类型元素的集合组成的数据结构,计算机会为数组分配一块连续的内存来保存其中的元素,我们可以利用数组中元素的索引快速访问特定元素。goalng中的数组在定义时必须指定长度,创建之后长度是不可变
一个golang版本升级和本地多版本控制的脚本工具
golang 在 Go 1.18中提供了泛型特性,相信很多goper小伙伴的跃跃欲试想要尝鲜了,但是安装新版本golang的同时又希望保留老的版本,以免影响现有的稳定代码仓库。 为了解决goalng版
一种判断数值是否为2的整数幂的方法
在golang slice扩容方法中有一种判断一个整数数值是否为2的整数次幂的方法。通过位运算的方式,具有极高的效率。具体如下: 通过分析我们发现一个满足2^n的整数的二进制都有首位为1,其余位都为0
记录一次由包初始化顺序导致的变量初始化异常问题
在一次开发过程中,想要将程序运行环境的变量作为缓存的key值作为区分,因此在声明全局变量时使用了其他变量赋值。通过如下测试代码简化具体逻辑。 当我们执行测试程序时,诡异的事情发生了。 变量b在初始化时
golang 单元测试、基准测试、子测试和并发测试用例开发
golang 单元测试、基准测试、子测试、并发测试基础教程 一、go test基础 用法: go test [build/test flags] [packages] [build/test flag
一个通用对象池-GoCommons Pool
一个通用对象池——Go commons pool Go commons pool介绍 如果你需要开发一个连接池,用于实现连接对象的重复使用,从而避免频繁的创建和销毁连接,造成响应的延时。那么你完全可以