Go Team Leader — rsc 大神新开源了一个库,增强模板功能

大家好,我是站长 polarisxu。 今天给大家分享一个 rsc 新开源的一个库:rsc.io/tmplfunc 。 这个库是对 Go 标准库模板的扩展,可以像调用函数一样调用模板。通过一个例子看怎么使用。 01 标准库 因为 text/template 和 html/template 基本是一样的,且 tmplfunc 这个包同时支持两者,本文使用 text/template 来演示。 有如下代码: package main import ( "os" "text/template" ) var stdstr = `{{link"https://golang.org""The Go language"}}{{link"https:

再一次看到了 Go 的节制:int128 类型要不要支持?

大家好,我是站长 polarisxu。 如果有看我写的 Rust 系列教程,会注意到,Rust 有一个整数类型:i128/u128,即 16 字节长的整数。而 Go 是不支持 int128/unit128 的。 当时,我也没有多想,感觉 128 长度应该用的也少。今天,我发现早在 2014 年就有人提议在 Go 中增加 int128/uint128 的支持:https://github.com/golang/go/issues/9455。 为什么想要这个类型呢? 有人提出了

Rust 劝退系列 05:复合数据类型

大家好,我是站长 polarisxu。 这是 Rust 劝退系列的第 5 个教程,探讨 Rust 中的复合数据类型(Compound types)。Rust 中有两种原生的复合类型:元组(tuple)和数组(array),顺带介绍切片。 01 元组类型 Go 语言没有元组类型,但多返回值有点类似元组(但还是有区别的哦)。Python 中有元组类型,因此如果你熟悉 Python,对元组应该很熟悉。 什么是元组

「卷」有理论依据:海勒姆定律—Go又是怎么卷的

大家好,我是站长 polarisxu。 对开发人员来说,其实也是有不少定律或原则的,只是很多人可能经历了,但不知道原来是这么个定律。 「内卷」这个词很流行,几乎渗透到每一个角落: 幼儿园小朋友都学一年级知识了,你家的不学,一年级跟不上。。。 小学生就各种课外辅导班,你不报班,也没人一起玩,让他看电子产品? 面试造火箭,工作拧螺丝的现象更加严重。。。 公众号各种卷:标题、内

Go 真的也可以进行 GUI 开发:还有这样的图书呢

大家好,我是站长 polarisxu。 最近看到一个视频:Building a Chess GUI with Fyne ,讲解如何使用 Go 构建一个完整的国际象棋应用程序。这个视频演示了如何构建 UI,添加动画,交互和拖放。所有这些都基于 Fyne 这个库构建,可以安装到桌面和移动设备!这个国际象棋的项目地址:https://github.com/andydotxyz/chess。 出于好奇,我深挖了一下,访问了视

Rust 劝退系列 04:基本数据类型

大家好,我是站长 polarisxu。 这是 Rust 劝退系列的第 4 个教程,探讨 Rust 中的基本数据类型,或叫标量类型(scalar type)。 Rust 和 Go 一样,都是静态类型语言,这表示每个变量的类型必须明确。和 Go 类似,大多数情况下,Rust 编译器能够推断出某个值的类型,不需要我们显示指定,写起来有点类似于弱类型似语言。但有些情况下,必须明确告知编译器我们使用什么类型,在 Rust 中,这叫

我的 Go 语言书单

大家好,我是站长 polarisxu。 今天是 4 月 23 日,是世界读书日。当当有很大的优惠,而且我还要到了额外的优惠码,花 140 可以买到 400 块钱的书。借这个机会,我分享一份 Go 语言书单(实际上还有很多免费电子书单,但这里只说纸质版),需要的可以今天购买,超便宜! 我认为不错的书,不代表你也认为好。所以,买不买自行判断哈。 01 入门级 以下排名不分先后。 Go 程序设计语言(俗称 Go 圣经) 本

Rust 劝退系列 03:变量

大家好,我是站长 polarisxu。 这是 Rust 劝退系列的第 3 个教程,探讨 Rust 中的变量。 01 变量和绑定 变量指定了某存储单元(Memory Location)的名称,该存储单元会存储特定类型的值。 Rust 是静态类型语言,不能在运行期改变变量类型。 和你熟悉的大部分编程语言不一样,Rust 中变量一般不叫声明,而叫做绑定(这是从函数式语言中借鉴的,使用关键字 let 绑定),那有什么区别呢?

我又来推荐免费 Go 新书了:一本用 Go 讲架构的书

大家好,我是站长 polarisxu。 我又来给大家推荐 Go 新书了,免费的哦。说明一点,这本书我只是浏览了下目录,看了下介绍,感觉应该还可以,值得读一读。书名是:《Go With The Domain》。 先介绍下该书的作者。Miłosz 和 Robert,他们是 Three Dots Labs 的创始人,这是一个什么组织呢?官网上是这么介绍的: Golang, Domain-Driven Design and Continuous Delivery. 关注 Go 领域驱动设计和持续交付,所以,这本书也是和这方面有

注释竟然还有特殊用途?一文解惑 //go:linkname 指令

大家好,我是站长 polarisxu。 我之前写过一篇文章:为什么 Go 标准库中有些函数只有签名,没有函数体? ,其中有一点就是 //go:linkname 这个指令。 Go 中类似的指令挺多的,比如 Go1.16 中的 //go:embed。前些天有人问我,为什么它用 //go:embed 不起作用?我一看,它是这么写的:// go:embed,不知道你看到问题了没有?是的,指令是通过注释的方式,但有三点要求,要特别注意: // 后不能有空格。