尝试rust
rust发布了1.0版本,可以关注一下了。
Install
首先是安装环境,很简单,可以去官网下载特定系统的安装包,我用了命令行的下载
$ curl -sSf https://static.rust-lang.org/rustup.sh | sh
安装过程有点慢,建议看个片啥的,安装完成后,rust的编译器和包管理工具cargo都会安装到本地。
Hello,World
国际惯例,hello, world,这里我们用cargo来进行,不直接使用rustc
$ cargo new hello_world --bin
加--bin
参数是我们要创建一个可执行程序,如果不加,默认它认为我们要创建一个库,src目录里默认的就是lib.rs
编辑src/main.rs
,输入
fn main(){
println!("Hello, World")
}
$ cargo build
编译链接后的文件在target
目录,运行一下
$ ./target/debug/helloworld
恩,很正常的输出了 Hello, World
熟悉语法及内置标准库
除了上面的方法,也可以在 https://play.rust-lang.org/
上玩
fn main(){
println!("Hello, World");
}
这个做了些什么?定义了一个无参数的main函数,调用宏println打印字符串。
main函数是程序入口,这与c语言很像。
注释
上面代码里已经出现过了注释//
,安装rust的时候它同时也会安装rustdoc,用来根据文档注释生成文档,它的注释为///
字符串
rust有两种类型的字符串,一种是以字面量定义的字符片段(string slice),它的长度固定,且内容不可修改,另一种就是可以修改的String
let s = "hello"; // string slice
let mut ss = String::new(); //String
let mut sss = s.to_string(); //String
let a = &ss; //string slice
上面的代码段可以看到,string slice通过调用to_string()
方法转为String,
String通过&
操作符转为string slice。
字符串索引并不能直接用想像中的[]
来取,因为它是utf-8编码的,单个字符可能是两个字节组成,为了防止[]
带来的误解,rust里取特定位置的字符需要这样:
let cn = "中国";
let c = cn.chars().nth(0); //中