Golang 操作 JSON 时容易踩的 7 个坑

5 月 12 日
阅读 10 分钟
126
JSON 是很多开发者工作中经常使用的数据格式,一般多用于配置文件或网络数据传递之类的场景。并且由于其简单易懂,可读性较好等特点,JSON 也成为了整个 IT 世界几乎最常见的格式之一了。对于这样的东西,Golang 和其他很多语言一样,也提供了标准库级别的支持,也就是 encoding/json。
封面图

浅谈 Python、Go、Rust 的异常处理

4 月 21 日
阅读 9 分钟
178
最近读到了一篇国外老哥写的关于他是如何爱上 Rust 的文章(Go's Errors: How I Learned to Love Rust))。其实从标题就能看出,这篇文章似乎又是在吐槽 Go 的错误处理。实际上也是这样没错,作者从异常错误处理的角度,从 Python 到 Go 再到 Rust,表达了他更喜欢 Rust 的原因。
封面图

Rust 开源游戏引擎 Bevy 初探以及移动小球游戏实现

3 月 25 日
阅读 9 分钟
385
前段时间照常浏览 Rust Weekly 邮件的时候,看到了 Bevy 发布 0.13.0 版本的消息,总觉得这个库似乎在哪儿见过,进去一看,原来是我很早以前就在 github 上 star 了的一款开源游戏引擎。
封面图

Golang WaitGroup 底层原理及源码详解

2023-04-26
阅读 10 分钟
4.4k
在进入正文前,先对 WaitGroup 及其相关背景知识做个简单的介绍,这里主要是 WaitGroup 的基本使用,以及系统信号量的基础知识。对这些比较熟悉的小伙伴可以直接跳过这一节。
封面图

ChatGPT 的最强平替?Claude 实战教学!

2023-04-20
阅读 3 分钟
2k
在最近几个月的 AI 热潮中,ChatGPT 可谓风头无两,而且也正是 ChatGPT 3.x 以及 4.0 的横空出世,才掀起了这波全球 AI 的滔天巨浪。
封面图

Golang 类型转换库 cast

2023-02-07
阅读 3 分钟
1.2k
0 前言你是否在使用 Go 的过程中因为类型转换的繁琐而苦恼过?你是否觉得 Go 语言中的类型断言可能会 panic 而对自己写的代码有那么一点点不放心?如果你有过如上体验,并且想要找到一个合适的解决方案的话,那么本文推荐的一个用于类型转换的第三方库 cast 绝对是一个值得尝试的选择。1 castcast 是一个极为简洁的第三...
封面图

Golang 中由零值和 gob 库的特性引起的 BUG

2021-12-04
阅读 6 分钟
2.1k
就在今年9月份,我负责的部门平台项目发布了一个新版本,该版本同时上线了一个新功能,简单说有点类似定时任务。头一天一切正常,但第二天出现了极少数任务没有正常执行(已经暂停的任务继续执行,正常的任务反而没有执行)的情况。
封面图

谈谈二进制(五)——定点数与浮点数

2020-09-16
阅读 3 分钟
9.4k
0. 概要二进制系列文章已经写到第五篇了,不出意外的话,这应该会是二进制系列的最后一篇。我们先来罗列一下前四篇:谈谈二进制(一)谈谈二进制(二)——四则运算谈谈二进制(三)——位运算及其应用谈谈二进制(四)——原码、补码、反码、移码其中,在上一篇里,我们认识了四种机器数,它们各司其职,但总的来说,有一个特...

谈谈二进制(四)——原码、补码、反码、移码

2020-09-11
阅读 7 分钟
9.3k
0. 概要老规矩,先回顾一下前面三篇文章我们都讲了什么。首先,第一篇【谈谈二进制(一)】我们从进制本身的意义开始,认识了二进制和其他进制,然后完成了十进制和其他各种进制之间的转换。接着,第二篇【谈谈二进制(二)——四则运算】中,我们则通过十进制的四则运算原理,推导出二进制的四则运算。上一篇【谈谈二进制...

谈谈二进制(三)——位运算及其应用

2020-09-07
阅读 7 分钟
5k
上表中列出了我们编程语言中的所有位运算符以及它们对应的规则。在前面的文章中我们讲过,二进制的1和0对应了电子元器件中的高低电平,或是开和关,而实际上,1和0也可以代表逻辑中的真与假。因此,上表中的前三个运算符其实也是逻辑运算符,而它们在逻辑运算中的规则,和二进制位运算基本一致,我们会在文中提及时做一...

谈谈二进制(二)——四则运算

2020-09-03
阅读 5 分钟
6.2k
(作者注:Segmentfault里文章的数学公式有BUG,预览时是好好的,文章发出来就都显示有问题,如果你们看的时候也有问题的话,可以移步[链接])

谈谈二进制(一)

2020-08-31
阅读 10 分钟
4.1k
猜这段代码最终会输出什么?嗯,1.2,这段代码只输出了1.2。也就是说,在这段代码中,i == 0.9和i == 1.5这两个判断都是false,因此没有执行接下来各自块内的print代码。

CentOS-6.5源码编译安装Python2.7.9

2016-08-02
阅读 3 分钟
5.5k
犹记得当时Python版本切换的问题困扰了我,以及整个项目组好久,因为按照正常的方法,安装Python本身没有问题,且能基本使用,但使用的过程中出现了大量包引用以及其他问题,后来发现这一切和本地库的路径,以及系统编码和Python源码编码的冲突有关,本文会着重说明。