分享最近学到的 5 个 Golang 小技巧
以下是我最近在 Go 中学到的 5 个小技巧,感觉挺有用且容易被大家忽略,在这里分享给大家。
计算数组元素的活可以交给编译器
在 Go 中,数组的使用并不多,大家都会选择使用 slice。在使用 slice 时,如果不想自己写数组中元素的个数,可以使用 […] ,编译器会帮你计数:
1 | package main |
使用 go run .代替 go run main.go
每当我开始用 Go 创建项目时,我都会先创建一个 main.go 文件:
1 | package main |
但当 main.go 文件变大时,就要使用同一个 main 将结构体分割到多个文件。但是,如果我有以下文件:
main.go
1 | package main |
say_hello.go
1 | package main |
输入 go run main.go 会出现以下错误:
1 | # command-line-arguments |
解决这个问题,需要使用 go run .
使用下划线使数字清晰易读
1 | package main |
在同一个包中使用不同的 test package
之前以为每个文件夹只能有一个 go package。后来发现对于名为 yourpackage 的包,你可以在同一目录下拥有另一个名为 yourpackage_test 的包,并在其中编写测试。
为什么要这么做呢?因为这样可以使用相同的包 yourpackage 来编写测试,所以未导出的函数也会可用。通过在 yourpackage_test 中编写测试,可以确保只测试暴露的行为。
多次传递相同参数
在使用字符串格式化函数时,总觉得必须重复使用多次的参数是很繁琐的事情:
1 | package main |
还有一种更方便的方法。可以只传递一次参数,并在 %s 动词中使用 %[order]s:
1 | package main |
希望大家今天能学到一些新东西。如果你也有一些 golang 小技巧,可以在评论区留言分享!