Facebook最新发币的Libra币项目,目前只提供了一个Libra Core客户端命令行工具,没有RESTful API,也没有其他语言的API接口,想要基于这个系统开发应用可能还需要等上一段时间。Libra Core系统是用一种高比格的小众语言Rust来编写的,相信绝大多数人都是只听说过Rust是试图在性能上与C相当,在开发难易程度和速度方面与Python相当的神秘语言。但是如果想要深入研究Facebook Libra系统,我们可能就不得不学习一种新语言了。

Rust Hello World程序

在Ruts语言中,我们使用cargo工具来管理包依赖以及编译运行语言。下面我们就以cargo工具为例,编写并运行经典的Hello World程序。
首先是创建工程,在一个新目录下运行如下命令:

cargo new hello_world --bin

这条命令是创建hello_world项目,并且这个项目是可执行文件(另一种选项是库)。进入到新创建的hello_world目录,发现cargo为我们创建了一个cargo.toml文件和src目录。其中cargo.toml是项目的配置文件,内容如下所示:

[package]
name = "hello_world"
version = "0.1.0"
authors = ["arxanfintech"]
edition = "2018"

[dependencies]

在实际项目中,dependencies下面为有很多项,由于我们这个项目非常简单,所以没有依赖项。
接下来我们进入src目录,里面有一个main.rs文件,内容如下所示:

fn main() {
    println!("Hello, world!");
}

在hello_world目录下,运行如下命令进行编译:

cargo build

编译完成并运行的结果如下所示:
Facebook最新Libra币开发语言Rust入门1-LMLPHP
如上所示,在编译完成后,会在hello_world目录下创建target/debug目录,编译生成的可执行文件就在该目录下。要运行的话,直接输入如下命令即可:

./target/debug/hello_world

我们可以将编译和执行放在一步来执行,如下所示:

cargo run

其运行结果如下所示:
Facebook最新Libra币开发语言Rust入门1-LMLPHP
以上编译的全部是debug版本的程序,我们可以通过如下命令编译release版:

cargo build --release

运行这条命令会在hello_world/target目录下建立release目录,可执行文件就放在该目录下。

08-09 01:10