首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Go精粹
订阅
一只大茄子
更多收藏集
微信扫码分享
微信
新浪微博
QQ
15篇文章 · 0订阅
踩了 Golang sync.Map 的一个坑
最近 Go 1.15 发布了,我也第一时间更新了这个版本,毕竟对 Go 的稳定性还是有一些信心的,于是直接在公司上了生产。 这次上线的变更只有 Go 版本的升级,没有任何其它变动,于是在本地开始测试,发现在本地也能百分百复现。 2、新的内存分配算法。 于是改 runtime,关…
Go - 实现项目内链路追踪(二)
上篇文章 Go - 实现项目内链路追踪 分享了,通过 链路 ID 可以将 请求信息、响应信息、调用第三方接口的信息、调试信息、执行的 SQL 信息、执行的 Redis 信息 串起来,记录的具体参数在文件中都有介绍。 主要是在拦截器 Interceptor 中进行收集。 我现在的…
图文结合,白话Go的垃圾回收原理
前面两篇文章介绍了Go语言的内存分配策略以及Go协程动态扩充和收缩栈内存的原理,今天这篇文章我们主要来聊一下内存管理的另外一大块内容:垃圾回收。 下面首先我们会聊一下什么是GC,GC的作用是什么,然后再结合图示用每个人都能听懂的大白话解释Go的GC原理。 现代高级编程语言管理内…
你真的懂 golang reslice 吗
第一感觉: 肯定能编译过, 但是运行时一定会panic的. 但事与愿违竟然能够正常运行, 结果是:[] 其实主要关心这两行即可. 是不是很神奇, a[1:] 没有调用runtime.panicSliceB(SB), 而是返回的是一个空的slice. 这是为何呢? 持着怀疑态度,…
Golang interface接口深入理解
如果说goroutine和channel是Go并发的两大基石,那么接口是Go语言编程中数据类型的关键。在Go语言的实际编程中,几乎所有的数据结构都围绕接口展开,接口是Go语言中所有数据结构的核心。 Go不是一种典型的OO语言,它在语法上不支持类和继承的概念。 没有继承是否就无法…
Go语言中 Unsafe 的用法
本文列举在 Golang 中 unsafe 的一般用法,以及提供给开发者的一些建议。 ℹ️ 本文基于 Go 1.12 版本。 这个 Package 的名字其实已经告诉了我们,我们不应该用它。为了弄清楚为什么用它会导致不安全,我们先看下文档里说的: 因此,这个命名作为 Go 中类…
深入了解golang中的defer关键字
golang中的defer关键字用来声明一个延迟函数,该函数会放在一个列表中,在defer语句的外层函数返回之前系统会执行该延迟函数。defer特点有: 当程序执行一个函数时候,会将函数的上下文(输入参数,返回值,输出参数等信息)作为栈帧放在程序内存的栈中,当函数执行完成之后,…
拆轮子系列:gin框架
gin是go的轻量级的web框架,轻量级意味着仅仅提供web框架应有的基础功能。我觉得看源码最好就是要有目标,看gin这个web框架,我的目标是: 代码上实现上有什么值得学习的地方。 要知道一次请求处理的大体流程,只要找到web框架的入口即可。先看看gin文档当中最简单的dem…
轻量级 Web 框架 Gin 结构分析
Go 语言最流行了两个轻量级 Web 框架分别是 Gin 和 Echo,这两个框架大同小异,都是插件式轻量级框架,背后都有一个开源小生态来提供各式各样的小插件,这两个框架的性能也都非常好,裸测起来跑的飞快。本节我们只讲 Gin 的实现原理和使用方法,Gin 起步比 Echo 要…
通过 深入对比 Arrays 和 Slices 学习GO
通过深入对比Arrays和Slices学习GO数组定义因为很简单的基础知识,就不一一解释了。数组使用上面通过简写的方式声明了数组,并且赋值,但并不是需要为所有元素分配值。如下程序:上面程序中哪个arr