尝试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); //中

推荐文章