0%

vim是一个可以高度定制化的编辑器,但是大部分人在编码过程中更多的是使用各种IDE,比如Jetbrains、VsCode等等,主要是由于vim的功能过于简单,如果想要把它配置成炫酷漂亮、功能齐全的IDE,需要付出很多的精力和时间。今天就介绍一款工具NvChad,可以让你快速将vim打造成功能齐全的IDE。

Rust语言因为在国内的知名度不高,所以很多人都不知道这门语言,也导致Rust语言的学习资料没有其他语言那么丰富,所以我在这里记录一下自己学习Rust的资料,后面有新的学习资料也会在这里更新。

Rust作为一门新兴的编程语言,与其他编程最不一样的就是变量的所有权与生命周期,而这两项又是保证Rust语言安全的基础。

所有权

在大多数编程语言中,对于编译期能够确定大小的类型,一般存放在栈上;编译期无法确定大小的类型,一般都会存储在堆上。在程序执行时比如赋值、传参、返回时,为了避免数据拷贝,会选择传递引用,而不是直接传递数据。所以会遇到堆内存被多次引用的问题,这些引用做什么操作,什么时候释放,都是需要考虑的问题。

Rust语言的打印操作主要是通过在std::fmt里面定义的一系列宏来处理。主要包括:

  • format!: 将格式化文本存入字符串。
  • print!: 与format!类似,但是把文本输出到控制台(io::stdout)
  • println!: 与print!类似,但是输出结果末尾会追加换行符。
  • eprint!: 与format!类似,但是把文本输出到标准错误(std::stderr)。
  • eprintln!: 与eprint!类似,但是输出结果末尾会追加换行符。
  • write!: 与format!类似,但是把文本输出到&mut io::Write
  • writeln!: 与write!,但是输出结果末尾会追加换行符。

这些宏都会以一致的规则对文本进行解析,格式化的正确性会在编译器进行检查