Go 的一些有趣数据:中国最多人用、开发者年轻;PHP 明显下滑的趋势

2023-04-19
阅读 2 分钟
2.8k
最近看到 JetBrains 家的《 2021~2022 开发者生态系统现状》,Go 有些数据还挺有趣的,分享给大家。这样可以对整体的开发者生态有一定的了解。

女朋友说 ChatGPT 没感情?如何更有血有肉,获得更优的回复。。。

2023-04-12
阅读 3 分钟
2.5k
最近正准备给我女朋友安利 ChatGPT,给她的工作提提效。没想到...她在之前早已偷偷用过了。不得不感慨 ChatGPT 现在的影响力之大,不仅仅互联网行业,连偏传统行业也波及到了。

国产化?我们在信创下的改变。。。

2023-04-03
阅读 2 分钟
7.2k
大家好,我是煎鱼。继之前我们在编程语言遭遇的滑铁卢后,经过一段时间的沉淀,今天重新梳理了一下信创现在比较高频见到和允许的组件。希望对大家有所帮助,也便于翻阅。信创是什么信创是一个统称概念,实际是把现有与信息技术相关的行业结合在一起,命名为“信息技术应用创新产业”,简称“信创”。信创包括:基础硬件、基...

一分钟搞明白!快速掌握 Go WebAssembly

2023-03-27
阅读 4 分钟
5.8k
最近因为各种奇怪的原因,更多的接触到了 WebAssembly。虽然之前很多博客也翻过写过各种文章,但总感觉欠些味道。于是今天梳理了一版,和大家一起展开学习。

Go 错误处理:100+ 提案全部被拒绝,为何现阶段仍用 if err != nil?

2023-03-21
阅读 2 分钟
2.6k
在 2018 年 8 月,现任 Go 核心团队负责人 Russ Cox 给 Go2 的错误处理画了一个大大的蓝图,并介绍了一个未实现的设计草案。

Go 遥测将可选加入!Google 收集数据的黑历史对 Go 有负面影响。。。

2023-03-14
阅读 2 分钟
2.4k
大家好,我是煎鱼。之前我写过一篇《Go 工具链想主动上报使用数据,你愿意吗?》文章分享。核心描述的是以下这件事。Go 核心团队负责人 Russ Cox(下称 rsc)想要抽样采集用户的使用数据、性能信息等,便于 Go 团队更好的开发和调研。文章的投票结果:Go 遥测开还是不开近日 Go 团队已经在《Opting In to Transparent Te...

Go 为什么不像 Rust 用 ?!做错误处理?

2023-03-10
阅读 2 分钟
2.5k
大家好,我是煎鱼。之前每次写 Go 错误处理的相关提案时,大家都会在评论区探讨到一个事。Go 这活不得劲,常被戏称,一个大型 Go 工程项目里 60% 的代码都是 if err != nil。咱们错误处理怎么不借鉴一下 Rust,高低也整个问号的语法特性,就可以简化这三行了,不香吗?借鉴 Rust 用 ?!| 符号核心的点是在现有的 Go 例...

Go 在信创这一块会输给 Java,想不通。。。

2023-02-27
阅读 2 分钟
2.6k
大家好,我是煎鱼。Go 语言已经开源 10+ 年,从高的关注度,再到云原生时代引爆学习 Go 的浪潮,再到现在的数年后。其搜索热度和 TIOBE 排名基本维持如下:最新的排名第是第 11 名。以往我在网上常常看到大家讨论的 Go vs Java,大家基本都是从技术的角度分析,对比两者的各类成本、特性,孰强孰弱。技术角度上决定如何...

Go1.20 arena 能手动管理内存了,怎么用?

2023-02-22
阅读 3 分钟
2.6k
最近 Go1.20 中的手动管理内存受到了很多人的关注。众所周知,Go 是一门带垃圾回收(GC)的编程语言,可以进行自动的内存申请、释放等内存操作。

PHP 都有,Go 凭什么不支持命名参数调用函数?

2023-02-20
阅读 2 分钟
2.5k
“为什么 Go 不能像 PHP、Python 一样,在调用函数时,直接带上参数名和值一起传入。这样就不用特意去看这个函数的形参的命名、类型等。明明 PHP8 都支持了?”

前有 45 亿数据被扒,现有 Go 工具链想要我的使用数据。。。

2023-02-13
阅读 2 分钟
2.1k
前两天有读者提醒我关注 Go 大当家 Russ Cox 发起的 Go 工具链中的遥测 telemetry in the Go toolchain 讨论。不看不知道,一看下一跳。

向 Rust 学习?Go 将考虑简单字符串插值特性

2023-02-09
阅读 3 分钟
5.6k
大家好,我是煎鱼。在日常开发 Go 工程中,我们经常会用 fmt.Printf 或 fmt.Sprintf 去写类似的拼装字符串的业务。如下代码: {代码...} 这业务迭代迭代着,日积月累的,有一部分常变的拼装逻辑会来越长。小小的电脑显示屏已经不足以让代码在一行内显示了。有许多特性会把字符串转为变量,但后面那串又臭又长的变量依然...

Go1.20 那些事:PGO、编译速度、错误处理等新特性,你知道多少?

2023-02-06
阅读 5 分钟
2.4k
最近 Go1.20 在 2 月 1 号已经正式发布,来的挺早的,以往都是拖到月底的,我翻了好几篇,发现最后还是做了不少功能取舍,放了些新特性(例如:arena 等)的鸽子!

还能这样玩?Go 将会增强 Go1 向前兼容性

2023-01-30
阅读 2 分钟
1.8k
大家好,我是煎鱼。年前我们在《醒醒吧,未来不会有 Go2 了!》文章中讨论了 Go2 的未来,明确了未来是以 Go1.x.y 为主的 Go1 时代。为了实现这个北极星目标,Go 团队采取的策略分别是:增强 Go1 向后兼容(在前文已分享)和 Go1 向前兼容(本文重点内容)。本次要提到的 “向前兼容”,指的是旧版本的 Go 编译新的 Go 代...

醒醒吧,未来不会有 Go2 了!

2023-01-16
阅读 2 分钟
2.2k
本周末在学习的时候,看到 Go 团队大当家 Russ Cox(下称:rsc)在近期分享的《GopherCon 2022: Russ Cox - Compatibility: How Go Programs Keep Working》,讲的是 Go 在兼容性方面的现有问题和思考,还埋了个新预期。

加大力度!Go 将会增强 Go1 向后兼容性

2023-01-10
阅读 3 分钟
2.5k
大家好,我是煎鱼。前段时间我们在写 Go1.20 新特性和变更时,发现了一个问题有悖论。Go1 有兼容性承诺,但如果发现了 BUG,会破坏兼容性。那怎么办?是大胆修改,破坏掉,还是说设计如此,打死不改?写了个开头结果阳了,现在阳半康回来更。Go1 兼容性保障在 Go1 引入了 Go 兼容性保障《Go 1 and the Future of Go Prog...

Go1.20 将会修改全局变量的初始化顺序。梅开二度,继续打破 Go1 兼容性承诺!

2022-12-15
阅读 3 分钟
3.6k
大家好,我是煎鱼。Go1.20 发布在即,大家都关注了一些大头的功能特性,例如:PGO、Arean 等。都没有那么的常接触到。实质上本次新版本还修复了在全局变量初始化方面的顺序,来自《cmd/compile: global variable initialization done in unexpected order》,这是个挺有趣的问题。神奇案例从案例展开,假设在同一个 pack...

多个著名 Go 开源项目被放弃,做大开源不能用爱发电,更不能只靠自己!

2022-12-12
阅读 2 分钟
4.6k
大家好,我是煎鱼。相信关注我的许多同学都有接触 Go 语言的开发,甚至在企业中多有实践。那么你在日常开发中,势必会接触到 gorilla 组织下的各个 Go 开源项目。如下图:gorilla/mux:Star:17.9k。a powerful request router for web applications。gorilla/websocket:Star:18.6k。a standards-compliant and widely...

Go1.20 将禁止匿名接口循环导入!这是一次打破 Go1 兼容性承诺的真实案例。。。

2022-12-09
阅读 3 分钟
3.6k
最近因为临近新版本发布节点,我在看 Go1.20 的新特性《spec: disallow anonymous interface cycles》,发现了一个比较骚的操作...以前我都没想到可以这么用,还有点意思,分享给大家。

Go1.20 继续小修小补 errors 库。。。

2022-12-05
阅读 4 分钟
3.2k
Go 的错误处理机制一直是无数人提了又争,被拒了又提的地方。最近 Go1.20 即将发布,针对 errors 标准库,有一个新的小修小补优化(wrapping multiple errors)。

Go 凭什么搞特殊?不用 yyyy-mm-dd,非得要 2006-01-02 15:04:05。。。

2022-11-28
阅读 2 分钟
3.5k
前段时间我写了一篇《Go1.20 中两个关于 Time 的更新,终于不用背 2006-01-02 15:04:05 了!》,文中有提到 Go 的参考时间格式是:2006-01-02 15:04:05,并解释这么设计的缘由。

PGO 是啥,咋就让 Go 更快更猛了?

2022-11-22
阅读 4 分钟
4.2k
大家好,我是煎鱼。Go1.20 即将发布,近期很多大佬提到一个关键词 PGO,说是有很大的提高,很猛...让我一愣一愣,不禁思考是什么?今天就由煎鱼和大家一起学习。快速了解PGO 是什么Profile-guided optimization (PGO),翻译过来是使用配置文件引导的优化。也被称为:profile-directed feedback(PDF)feedback-directed ...

Go1.20 中两个关于 Time 的更新,终于不用背 2006-01-02 15:04:05 了!

2022-11-17
阅读 3 分钟
3.8k
Go 语言中有一个东西是比较有特色的,那就是 time 标准库,在各类与时间有关的场景都会常常用到,例如:定时/延迟任务、数据更新、时间比较。

打脸了兄弟们,Go1.20 arena 来了!

2022-11-15
阅读 2 分钟
4.3k
大家好,我是煎鱼。大概半年前,我写过一篇文章《Go 要违背初心吗?新提案:手动管理内存》。有兴趣了深入解的同学,可以再回顾一下。当时我们还想着 Go 团队应该不会接纳,至少不会那么快:懒得翻也可以看我再次道来,本文提到的提案《proposal: arena: new package providing memory arenas》,这其中的 Arena 将会是...

Go 十年了,终于想起要统一 log 库了!

2022-11-08
阅读 4 分钟
4.4k
本文参与了思否技术征文,欢迎正在阅读的你也加入。大家好,我是煎鱼。在日常工作中,打日志是很常见的动作。毕竟不打日志,从内部来讲,一旦出问题,定位、排查都会变的非常困难。谁也不想大半夜在那靠猜解决问题。在其他方面,对日志的存储的内容、时长、安全均有不同程度的合规要求,应对客户诉求和提单上门的事件。...

Go for 循环有时候真的很坑。。。

2022-11-02
阅读 2 分钟
4.2k
大家好,我是煎鱼。不知道有多少 Go 的面试题和泄露,都和 for 循环有关。今天我在周末认真一看,发现了 redefining for loop variable semantics 。著名的硬核大佬 Russ Cox 表示他一直在研究这个问题,并表示十年的经验表明了当前语义的代价是很大的。问题案例一:取地址符在 Go 语言中,我们写 for 语句时有时会出现...

Go 大佬良心发现,愿意给 map 加清除了?

2022-10-28
阅读 2 分钟
7.7k
一个东西来来回回的讨论,关了又开,关了后建新的,新的被 ban 了,又发现新的论据,再打开新的。这在职场工作中很常见,在 Go 的提案讨论中,也出现了。

Go try 新提案靠谱吗?想简化错误处理了

2022-10-24
阅读 4 分钟
4.5k
大家好,我是煎鱼。在近日新的 try 提案《proposal: Go 2: error handling: try statement with handler》在社区引发了热议。今天煎鱼和大家一起打开来看看,这能把 Go 错误处理机制给掀开重整不。背景来自 PingCAP 的提案作者 @Greg Weber 会干这事基于两个因素,一个是在《Go Developer Survey 2022 Q2 Results》中明...

用 Go interface{} 等于什么也没说

2022-10-20
阅读 2 分钟
4.9k
Go 谚语中认可的是:"interface{} says nothing",也就是 interface{} 什么也没说。这指的又什么,太黑话了吧...

Go 为什么能火?归功于这 5 个方面

2022-09-28
阅读 3 分钟
10.3k
在国外的播客节目 Go Time #100 中,Rob Pike 和 Robert Griesemer(Go 的两位创始人)和主持人 Jerod Santo 讨论了 Go 语言的成功缘由和一些思考。