我正在编写可移植的Rust代码来查找某些目录中的程序。 在Windows上,我期望它是foo.exe和其他地方只是foo 。
显然我可以使用if cfg!(windows)但看起来很丑。
有没有更好的方法来find平台的可执行文件扩展名?
是的,在Windows上, std::env::consts::EXE_SUFFIX将是.exe ,而std::env::consts::EXE_EXTENSION将会是exe 。 Unix上都是空的。
这些可以使用例如std::path::PathBuf::set_extension与基本名称相结合。