Golang的感受和技巧

由于去年左右开始逐渐写Golang,所以我总结了一些感受。

“只需要一种实现方法,尽量只有一种方法是最好的。”

由于Go的语法简单,因此在进行某项操作时有多种写法,不容易混淆。这与Python的思维方式相似,给我留下了非常好的印象。

没有类似于列表解析的东西。

在Go语言中,没有像map、reduce这样的列表方法,而是使用for循环代替。
一开始我觉得有点困惑,但后来我理解了这也符合“实现方法应该是唯一的,尽量简洁”的思想,便接受了。

gofmt非常方便

有了gofmt进行代码自动格式化,我们不再担心微小的格式差异了。这真是太轻松了!再加上使用go vet,能够更早地发现一些小错误,非常好啊。

VSCode是一种方便的开发工具。

只需安装VSCode并安装Go扩展!将获得一个舒适的环境。
虽然VSCode是一个轻量级的编辑器,但安装Go扩展后,配备了智能代码补全和自动gofmt等功能,非常棒。

如果 err != nil 很麻烦

在Go语言中,没有异常的概念,每次都需要进行错误检查是基本操作,但我觉得这很麻烦。也许这是Golang对”不要忽略错误处理”的意思,但真的很麻烦。。

res, err := GetResponse()
if err != nil {
    // handle error...
}

string和[]byte的处理方法

我认识到两者都表示字节序列,但是在可变性上,string是不可变的,而[]byte是可变的,所以需要根据这一点进行区分。

我是在这个网站上学到的。

指针很复杂

在Go语言中,很少见到指针。我有时会犹豫是否应该将结构体方法的接收者类型设置为指针类型。毕竟,指针还是挺复杂的。

bannerAds