我在 Python 中有以下代码:
if not os.path.exists(src): sys.exit("Does not exist: %s" % src)
if os.path.exists(dst): sys.exit("Already exists: %s" % dst)
os.rename(src, dst)
从这个问题,我了解到没有直接的方法来测试文件是否存在。
在 Go 中编写上述内容的正确方法是什么,包括打印出正确的错误字符串?
这是我得到的最接近的:
package main
import "fmt"
import "os"
func main() {
src := "a"
dst := "b"
e := os.Rename(src, dst)
if e != nil {
fmt.Println(e.(*os.LinkError).Op)
fmt.Println(e.(*os.LinkError).Old)
fmt.Println(e.(*os.LinkError).New)
fmt.Println(e.(*os.LinkError).Err)
}
}
从错误信息的可用性来看,如果不解析英语自由格式字符串,它实际上不会告诉您问题是什么,在我看来,在 Go 中编写等效项是不可能的。
梦里花落0921
相关分类