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

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


我发现这样的行:err.(*os.PathError)在这种情况下:


for try := 0; try < 2; try++ {

    file, err = os.Create(filename)

    if err == nil {

        return

    }

    if e, ok := err.(*os.PathError); ok && e.Err == syscall.ENOSPC {

        deleteTempFiles()  // Recover some space.

        continue

    }

    return }

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


喵喵时光机
浏览 373回答 2
2回答

不负相思意

从docs,这是一个类型断言:对于接口类型的表达式 x 和类型 T,主要表达式&nbsp;x.(T)断言 x 不是 nil 并且存储在 x 中的值是 T 类型。符号 x.(T) 称为类型断言。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go