Learn Rust

最初知道Rust是去年听几个学长所说的,但是其实对它有一些误解,以为是种纯的函数式语言,加之当时对函数式编程不止从何而来的畏惧,导致虽然知道它也不愿意去学它。

对他的观念转变来自于之前看到的来自Rust编译器的几张梗图,那么“智能”的编译器也着实引起了好奇心。于是,近几日简单了解和学习了一下这个已经连续五年(2016,2017,2018,2019,2020)在Stack Overflow开发者调查的“最受喜爱编程语言”评选项目中折取桂冠的语言。

Installation

你可以在Rust官网学习如何安装Rust,同时,不建议使用Mingw32,而建议使用msvc来运行Rust

[23.04.21 00:14]
mingw32 就是辣鸡

[23.04.21 00:14]
不要用

[23.04.21 00:14]
一堆bug

如果不慎安装出了问题,像我一样遇到了linking with 'x86_64-w64-mingw32-gcc' failed: exit code: 1这样的错误,你可以选择更改到msvcchannel

rustup toolchain uninstall stable
rustup default stable-x86_64-pc-windows-msvc
rustup component add rust-src

How to Learn

你可以在Rust 程序设计语言找到详细的中文文档和使用教程,我这里不再赘述。本文并不会指导你如何学习这门语言,但是会记录我在学习这门语言过程中遇到的问题和特殊的写法。

Notes

Rust学习笔记

关于结构体的调试

可以使用Debug特性来进行结构体的格式化输出,首先需要使用在结构体定义之前加上#[derive(Debug)]注解,如下:

#[derive(Debug)]
struct Rectangle {
    width: u32,
    height: u32,
}

之后使用{:?}{:#?}可以直接格式化输出结构体:

println!("rect1 is {:#?}", rect1);

// rect1 is Rectangle {
//    width: 30,
//    height: 50,
//}

println!("rect1 is {:?}", rect1);

// rect1 is Rectangle { width: 30, height: 50 }

未完待续…