rust第六篇,用rust写的通用工具
just
为您提供一种保存和运行项目特有命令的便捷方式。
命令,在此也称为配方,存储在一个名为 justfile
的文件中,其语法受 make
启发:
然后你可以用 just RECIPE
运行它们
$ just test-all
cc *.c -o main
./test --all
Yay, all your tests passed!
just
有很多很棒的特性,而且相比 make
有很多改进:
just
是一个命令运行器,而不是一个构建系统,所以它避免了许多 make
的复杂性和特异性。不需要 .PHONY
配方!sh
,你需要 选择一个不同的 Shell)。just
可以 加载.env
文件,简化环境变量注入。just
可以从任何子目录中调用,而不仅仅是包含 justfile
的目录。支持在其他语言中无缝接入Rust中的类型, 支持语言包括typescript、kotlin、swift、scala、go
在Cargo.toml中加入依赖
typeshare = "1.0.0"
rust中的类型
// Rust type definitions
#[typeshare]
struct MyStruct {
my_name: String,
my_age: u32,
}
#[typeshare]
#[serde(tag = "type", content = "content")]
enum MyEnum {
MyVariant(bool),
MyOtherVariant,
MyNumber(u32),
}
生成的typescript类型
// Generated Typescript definitions
export interface MyStruct {
my_name: string;
my_age: number;
}
export type MyEnum =
| { type: "MyVariant", content: boolean }
| { type: "MyOtherVariant", content: undefined }
| { type: "MyNumber", content: number };