登录
首页 >  Golang >  Go问答

Go 中的 err.(*os.PathError) 是什么?

来源:Golang技术栈

时间:2023-03-23 11:10:55 230浏览 收藏

各位小伙伴们,大家好呀!看看今天我又给各位带来了什么文章?本文标题《Go 中的 err.(*os.PathError) 是什么?》,很明显是关于Golang的文章哈哈哈,其中内容主要会涉及到golang等等,如果能帮到你,觉得很不错的话,欢迎各位多多点评和分享!

问题内容

当我阅读时:http: //golang.org/doc/effective_go.html#errors

我找到了这样的行:err.(*os.PathError)在这种情况下:

for try := 0; try 

err.(*os.PathError)Go 中到底是什么?

正确答案

os.Create返回错误作为第二个返回值。错误本身就是一个接口 type error interface { Error() string }。任何碰巧有Error方法的数据类型都将实现该接口并且可以被分配。

在大多数情况下,仅打印错误就足够了,但在此示例中,您希望ENOSPC显式处理(设备上没有剩余空间)。在这种情况下,os包会返回一个*os.PathErroras 错误实现,如果您想访问有关错误的其他信息,即Error() string, 方法旁边的所有内容,则必须对其进行转换。

该语句e, ok := err.(*os.PathError)是一个类型断言。它将检查接口值是否err包含*os.PathError具体类型并将其返回。如果接口中存储了另一种类型(可能存在实现该error接口的其他类型),那么它将简单地返回零值和 false,即nil, false在这种情况下。

今天带大家了解了golang的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表