首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
go
订阅
Hello8
更多收藏集
微信扫码分享
微信
新浪微博
QQ
12篇文章 · 0订阅
昨天那个在for循环里append元素的同事,今天还在么?
不会死循环,for range其实是golang的语法糖,在循环开始前会获取切片的长度 len(切片),然后再执行len(切片)次数的循环。
最详细的雪花算法讲解,看这一篇就够了(go版本)
由图我们可以看出来,snowFlake ID结构是一个64bit的int型数据。 在二进制中最高位为1,表示的是负数,因为我们使用的id应该都是整数,所以这里最高位应该是0。 41位可以表示2^41-1个数字,如果只用来表示正整数,可以表示的数值范围是:0 - (2^41 -1…
k8s使用的web框架:go-restful 源码分析
go-restful是一个用go语言开发的快速构建restful风格的web框架。k8s最核心的组件kube-apiserver使用到了该框架,该框架的代码比较精简,这里做个简单的功能介绍,然后分析相关源码。 想要揭开答案,让我们一起分析下源码吧。在这之前,还是建议先看下本人之…
我在暴躁同事小张的帮助(胁迫)下学会了Go的交叉编译和条件编译
今天继续关于Go开发经验的分享,这次的主题是关于Go的交叉编译和条件编译,伴随着我对自己打不过、惹不起的壕同事小张的碎碎念文字。 交叉编译是用来在一个平台上生成另一个平台的可执行程序。比如我工作开发时用的Mac,系统内核是darwin,小张用的是外星人,系统内核是windows…
【Go语言入门系列】(九)写这些就是为了搞懂怎么用接口
1. 引入例子 如果你使用过Java等面向对象语言,那么肯定对接口这个概念并不陌生。简单地来说,接口就是规范,如果你的类实现了接口,那么该类就必须具有接口所要求的一切功能、行为。接口中通常定义的都是方法。 如果你之前还没用过面向对象语言,那也没关系,因为Go的接口和Java的接…
图解Go内存管理器的内存分配策略
在Go语言里,从内存的分配到不再使用后内存的回收等等这些内存管理工作都是由Go在底层完成的。虽然开发者在写代码时不必过度关心内存从分配到回收这个过程,但是Go的内存分配策略里有不少有意思的设计,通过了解他们有助于我们自身的提高,也让我们能写出更高效的Go程序。 Go内存管理的设…
如何用 5 分钟在企业微信上打造一个 Github 机器人
需求当github发生push/pullrequest/issue/release等事件的时候,同步通知到企业微信内部群技术原理Github提供了webhook配置,当订阅事件发生后,会向配置的url
记一次简单的Go反射实战
反射是所有面向对象语言的一个重点,它为开发者提供了灵活的操作可能。利用反射可以获取不同对象/结构体的信息,制定不同的策略,实现复杂的操作。 go与java的反射操作思维大有不同,学习的时候也遇到过一些困难,记录下来加深印象。 在Go语言中,它提供了reflect包用来辅助我们进…
Golang Web入门(3):如何优雅的设计中间件
在上一篇文章中,我们已经可以实现一个性能较高,且支持RESTful风格的路由了。但是,在Web应用的开发中,我们还需要一些可以被扩展的功能。 因此,在设计框架的过程中,应该留出可以扩展的空间,比如:日志记录、故障恢复等功能,如果我们把这些业务逻辑全都塞进Controller/H…
基于 Go + MySQL + ES 实现一个 Tag API 服务
Tag 是一个很常见的功能,这篇文章将使用 Go + MySQL + ES 实现一个 500 多行的 tag API 服务,支持 创建/搜索 标签、标签关联到实体 和 查询实体所关联的标签列表。 注意上面的部署仅用于开发环境,如果需要在生产部署通过 docker 部署,请参考官…