既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
func division(a,b int) (int,error) {
if b == 0{
return 0,divisionByZeroError
}
return a/b,nil
}
多次尝试可避免失败,不必立即返回error
这个常见的情况就是写爬虫,由于网络原因,导致连接失败,一般情况下都是用户传一个重试次数retries,或者超时时间timeout,达到条件时才会返回错误或抛出异常。
多层嵌套,给error添加日志/出错位置
go的标准库的日志不是很强大,这里就不展示日志了,可以标出出错位置
func positionError(file,line string,err error) error {
return errors.New(file+" "+ line + ":"+err.Error())
}
我们写一个正整数除法,调用前面的函数(有修改,查看全部代码)
func cal(a,b int) (int,error) {
if a<=0 || b<0{
return 0,positionError("err.go","28",negativeError)
}
return division(a,b)
}
_, err