包含标签 go 的文章

Go1.16 新特性:详解内存管理机制的变更,你需要了解

大家好,我是正在学习如何蒸鱼的知识铺。 在前面 Go1.16 特性介绍的文章中我们有提到,从 v1.16 起,Go 在 Linux 下的默认内存管理策略会从MADV_FREE 改回 MADV_DONTNEED 策略。 这时候可能至少分两拨小伙伴,分别是: 知道是什么,被这个问题 “折磨“ 过的,瞬间眼前一亮。 不知道是什么,出现了各种疑惑了,这说的都是些什么。……

阅读全文

Go1.16 新特性:快速上手 Go embed

在以前,很多从其他语言转过来 Go 语言的同学会问到,或是踩到一个坑。就是以为 Go 语言所打包的二进制文件中会包含配置文件的联同编译和打包。 结果往往一把二进制文件挪来挪去,就无法把应用程序运行起来了。因为无法读取到静态文件的资源。 无法将静态资源编译打包进二进制文件的话,通常会有两种解决方法……

阅读全文

Go1.16 即将正式发布,以下变更你需要知道

大家好,我是正在努力学习的知识铺。 在前几天,Go1.16rc1 抢先发布了。结合常规的 28 发布规律,其将会在 2021.02 月份左右发布正式版本。 这次 Go1.16 也带来了一些新特性或变更。那么作为一个 Gopher,想必不能错过这次的更新。 今天这篇文章将会带大家了解一下 Go1.16 的几个需要关注的特性。 废弃 io/ioutil Go 官方认为……

阅读全文

Go 错误处理:用 panic 取代 err != nil 的模式

前段时间我分享了文章 《先睹为快,Go2 Error 的挣扎之路》后,和一位朋友进行了一次深度交流,他给我分享了他们项目组对于 Go 错误处理的方式调整。 简单来讲,就是在业务代码中使用 panic 的方式来替代 “永无止境” 的 if err != nil。这就是今天本文的重点内容,我们一起来看看是怎么做,又有什么优缺点。 为什么想……

阅读全文

Go 并发:一些有趣的现象和要避开的 “坑”

大家好,我是知识铺。 最近在看 Go 并发相关的内容,发现还是有不少细节容易让人迷迷糊糊的,一个不小心就踏入深坑里,且指不定要在上线跑了一些数据后才能发现,那可真是太人崩溃了。 今天来分享几个案例,希望大家在编码时能够避开这几个 “坑”。 案例一 演示代码 第一个案例来自 @鸟窝 大佬在极客时间的分享……

阅读全文

先睹为快,Go2 Error 的挣扎之路

大家好,我是知识铺。 自从 Go 语言在国内火热以来,除去泛型,其次最具槽点的就是 Go 对错误的处理方式,一句经典的 if err != nil 暗号就能认出你是一个 Go 语言爱好者。 自然,大家对 Go error 的关注度更是高涨,Go team 也是,因此在 Go 2 Draft Designs 中正式提到了 error handling(错误处理)的相关草案,希望能够在未来正式的……

阅读全文

重磅:Go errors 将不会有任何进一步的改进计划

今天在 Gophercon2020 上,Go 1.13 错误提案的作者事后提及他对目前错误格式化的缺失表示遗憾,而且在未来很长的好几年内都不会有任何进一步改进计划。 对此他本人给出的原因之一是:对于错误处理这一领域特定的问题,在他的能力范围内实在是无法给出一个令所有人都满意的方案。 尽管如此,在他演讲的最后,还是给出了一……

阅读全文

为什么 Go 的泛型一拖再拖?

大家好,我是知识铺。前段时间 Go 语言的泛型讨论频频出现在各微信群,且又冲上了国内外各大文章的 “头条”: 信息汇总来看,Go 泛型这几年会出,但大体来讲现在 Go 泛型又又又推迟了,好家伙。我最早了解到时是考虑 Go1.16 释出,后面又推到了 Go1.17,接着现在又延期到了 Go1.18 了(2021 年底)。 看到了信息……

阅读全文

Go 语言今年 11 岁,何去何从,现状到底如何?

不说不知道,一说下一跳。Go 语言已经开源 11 周年了,感觉是一路高歌,Release History (polarisxu 整理)如下: 2011 年 3 月 16 日,Go 语言的第一个稳定版本 r56 发布; 2012 年 3 月 28 日,Go 语言的第一个正式版本 Go1 发布,并承诺 1.x 的 兼容性; 2013 年 5 月 13 日,Go1.1 正式版才发布。 2013 年 12 月 1 日,Go……

阅读全文

解密 Go 语言之反射 reflect

大家好,我是知识铺。 在所有的语言中,反射这一功能基本属于必不可少的模块。虽说 “反射” 这个词让人根深蒂固,但更多的还是 WHY。反射到底是什么,反射又是基于什么法则实现的? 今天我们通过这篇文章来一一揭晓,以 Go 语言为例,了解反射到底为何物,其底层又是如何实现的。 反射是什么 在计算机学中,……

阅读全文