【笔记】学到几个 golang 代码小技巧
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!
从这篇文章学到:10个令人惊叹的Go语言技巧,让你的代码更加优雅
myfunc()()
这样的函数调用
假设调用一个函数写成myfunc()()
,第一反应是“会编译错误吧?”
只要第一层函数返回的值是一个函数就行:
func myfunc() func(){ return func(){ fmt.Println("xxx") } }
Go 1.20 允许将切片解析为数组或数组指针
// Go 1.20 func Test(t *testing.T) { a := []int{0, 1, 2, 3, 4, 5} b := [3]int(a[0:3]) fmt.Println(b) // [0 1 2] }
Go 1.20 允许将多个错误合并为单个错误
var ( err1 = errors.New("Error 1st") err2 = errors.New("Error 2nd") ) func main() { err := err1 err = errors.Join(err, err2) fmt.Println(errors.Is(err, err1)) // true fmt.Println(errors.Is(err, err2)) // true }
特定的场景下,能够让错误处理更优雅一些。
分类:
golang
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2020-11-30 【解决了一个小问题】golang samara的kafka客户端中使用错误版本号导致初始化失败