Golang 的 “omitempty” 关键字略解
简单记录 Go 语言定义结构体时,程序员们常用的 omitempty 关键字的作用
简单记录 Go 语言定义结构体时,程序员们常用的 omitempty 关键字的作用
Go程序崩溃的核心原因为Go的栈在runtime管理时,被插入了异常的内存地址。Go中常见的堆栈变化为协程goroutine的创建与销毁。栈内 被插入异常内存地址是因为eBPF的实现机制是向函数的返回地址前,插入了断点指令(i386和x86_64是INT3)。 两个条件的叠加,就出现了这个错误。
Gin 是 Golang 生态中目前最受用户欢迎和关注的 Web 框架,但是生态中的 Static 中间件使用起来却一直很不顺手。所以,我顺手改了它,然后把这个改良版开源了。
GC作为现代编程语言的自动内存管理机制,专注于两件事:1. 找到内存中无用的垃圾资源 2. 清除这些垃圾并把内存让出来给其他对象使用。GC彻底把程序员从资源管理的重担中解放出来,让他们有更多的时间放在业务逻辑上。但这并不意味着码农就可以不去了解GC,毕竟多了解GC知识还是有利于我们写出更健壮的代码。
本篇文章将聊聊如何快速搭建 Linux 环境中的 Golang 开发环境。在[《基础篇》]的内容中,我们聊过了如何基于 Ubuntu 22.04 搭建基础的 Linux 学习环境。接下来的文章里,我们先来聊聊如何在 Linux 环境中,快速安装配置各种可维护的语言环境。
本篇文章,将分享如何在苹果 M1 Mac 设备上,来进行高效、可靠的 Golang 开发环境的安装和管理。
如果你是一个 Golang 的用户,那么你大概率会遇到管理和维护 Golang 版本的诉求,如果你恰好同时需要开发调试两个不同版本的项目,在不考虑强制跳版本的情况下,你或许就需要使用“Golang 版本管理工具”来帮助你减轻负担了。本篇文章将介绍最近几个月,我在使用的工具,它们的优势和不足。希望能够帮助到有类似需求的同学。
2018年后就一直计划在公司做一次技术分享,但迟迟没有确定好主题。正好公司好多同事都开始学习Golang, 正好到了由入门到晋级的阶段。 我这边Golang也有一两年的经验了,对于Golang在高并发场景上的设计有一定的理解,所以 有了这次的分享。分享的主题是 Golang高性能实战, 偏高性能方面的设计,golang本身的描述其实不多,更多的是架构及框架的设计。
最近用 Golang 实现了一个日志搜集上报程序(内部称 logger 项目),线上灰度测试过程发现 logger 占用 CPU 非常高(80% - 100%)。而此项目之前就在线上使用,用于消费 NSQ 任务, CPU 占用一直在 1%……
现在,Java EE 已经是 Eclipse 基金会的一个项目;甲骨文也加快了 Java SE 的发布频率,最重要的是通过 Java 模块化系统(Java Platform Module System),即大家熟知的 Jigsaw,Java 的模块化特性终于正式和开发者见面了!
之前写过一篇《Python修饰器的函数式编程》,这种模式很容易的可以把一些函数装配到另外一些函数上,可以让你的代码更为的简单,也可以让一些“小功能型”的代码复用性更高,让代码中的函数可以像乐高玩具那样自由地拼装。所以,一直以来,我对修饰器decoration这种编程模式情有独钟,这里写一篇Go语言相关的文章。