标签:
Hello World!
现在你已经安装了Rust,让我们开始编写第一个Rust程序吧。打印Hello World已经成为了学习一门新语言的传统。运行一个简单的程序的好处是可以证明你的编译器不仅仅是安装在了电脑上,而且它还能完美地工作。并且打印字符是一件再普通不过的事了。
首先我们要做的事情就是创建一个文件,然后把代码敲进去。我习惯在我的文档目录下新建一个Project文件夹,把我的所有代码都放在那里。Rust并不关心你的代码身在何处。
真正我们需要关心的事情是:这篇教程将会假设你有命令行的基础。Rust不会要求你使用什么编辑工具,或者你把代码放在哪。如果你更喜欢IDE,也许你想看看SolidOak,或者能用于你最爱的IDE的其他插件。有许多社区在维护着各种各样的扩展。Rust团队也在维护一些编辑器的插件。由于配置编辑器或者IDE超出了这篇教程的范围,所以请单独查看其他的教程。
闲话少说,我们先新建一个文件夹到Projects中。
$ mkdir ~/projects
$ cd ~/projects
$ mkdir hello_world
$ cd hello_world
如果你在Windows平台并且不使用PowerShell,那么~可能会出错。查阅其他文档了解怎么使用你的shell。
下一步让我们新建一个源文件。我们给它命名为main.rs。Rust文件总是以.rs为扩展名。如果你使用两个以上单词作为文件名,请使用下划线:hello_world.rs而不是helloworld.rs。
现在请打开你的文件,输入:
fn main(){
println!("Hello,world!");
}
保存文件,然后在终端输入以下内容:
$ rustc main.rs
$ ./main # or main.exe on Windows
Hello, world!
成功了!让我们探讨一下细节吧。
fn main(){
}
它们定义了一个main函数,main函数有点特殊:它是任何Rust程序的开始。第一行代码的意思是:“嘿,我声明了一个叫做main的函数,它不带参数而且没有返回值。”如果需要参数,他们将会出现在括号里面。因为在函数里我们没有返回任何东西,所以我们可以省略返回类型。我们一会就会知道这些了。
你也注意到了,函数是由一对花括号包围起来的,Rust需要花括号来包住函数主体。你也可以使用一种好的风格来声明函数:把花括号放在同一行,括号之间加一个空格。
这是下一行:
println!("Hello, world!");
这一行做了这个小程序的所有工作。这里边有许多重要细节。首先就是它用了四个空格来缩进,而不是tab。请配置你的编辑器将tab键改为四个空格。我们给许多编辑器插件提供了一些相似的配置。
第二点是println!()部分。它调用了一个Rust宏,*这是由元编程来完成的[原文:which is how metaprogramming is done in Rust.]。如果它是一个函数,它看起来将会是这样:println()。我们目前不需要知道他们之间的差别,只需要知道有时会看见感叹号,有时不会。出于一种好的目的,Rust执行println!时将其作为宏来运行。但这是一个高级主题。最后提一点:Rust的宏明显不同于C语言的,如果你使用宏,请不要害怕他们。我们最终将会了解这些细节。你现在只有相信我们。
另外,"Hello,world!"是一个‘string‘。String是一个极其复杂的主题,它是一个静态分配的字符串。如果你想了解分配机制,请阅读有关堆和栈的文档。我们用一个字符串作为参数提供给println!,让它打印该字符串到屏幕上。真TM简单。
最后,每个命令用一个;作为结尾。Rust是一个面向表达式的语言,*意味着它主体大部分是表达式,而不是陈述语句[原文:which means that most things are expressions, rather than statements.]。分号;通常表示着一句命令的结束,并且下一句即将开始执行。大部分的Rust代码用;结尾。
还有,编译与运行我们的程序。我们可以使用编译器——rustc编译我们的程序,使用如下命令:
$ rustc main.rs
这条命令类似与gcc或者clang。Rust将会输出二进制可执行文件:
$ ls
main main.rs
或者在windows下:
$ dir
main.exe main.rs
现在我们有了两个文件:一个是源代码,另一个是可执行文件。
$ ./main # or main.exe on Windows
输入这条命令将会在终端打印出Hello,world!
如果你之前学的是动态语言比如Ruby,Python或者JavaScript,你可能没有执行过上面的步骤。Rust是一个“先编译后运行”的语言,意思是你可以将源代码编译成一个程序,然后它可以在其他没有安装Rust的地方运行。如果你给别人一个.rb .py 或者 .js文件,他必须先安装好Ruby/Python/JavaScript才能运行这些文件,而你只需要一条命令即可运行和编译你的文件。一切都需要一个折衷,Rust已经作出了它的选择。
祝贺,你已经完成了你的第一个Rust程序,你已经成为了Rust程序员!欢迎!
下一步,我想向你介绍另一个工具,Cargo,它通常用来编写真正的Rust工程,rustc仅仅是用于对付小程序,随着你的项目逐渐庞大,rustc就逐渐显得心有余而力不足,所以你需要一个强大的工具。Cargo也能让你的代码更易于分享。
标签:
原文地址:http://www.cnblogs.com/hider000/p/4782994.html