学习新时代编程语言Rust-3基本数据类型

       在上一期视频里我们使用 cargo run 运行了个 helloworld ,在 hello-rust 目录里再次运行 tree 命令:

tree

      我们发现在 hello-rust 目录下多了一个 Cargo.lock 文件和一个 target 文件夹。Cargo.lock 文件用于记录锁定我们当前项目依赖的库版本号,什么意思呢?

       比如我们项目现在依赖一个库 L,L 库有俩个版本 1.1 和 1.2 , 我们在 Cargo.toml 文件里配置了我们的项目依赖 1 版本 , 并没有明确指定是 1.1还是 1.2, 这个时候 Cargo 帮我们下载了 1.2 并记录到 Cargo.lock 文件中,以后再编译这个项目的时候就优先使用 Cargo.lock 里记录的版本,这么做有什么好处呢?

       这样可以避免不同版本间不兼容问题,比如L库又推出了库又推出了 1.3 版本,但这个版本修改了一些功能跟1 .2 版本的使用方法已经不一样了,这个时候如果没有 Cargo.lock 文件, Cargo 很可能就会去下载1 .3 版本使用,但我们的程序是按照1 .2 编写的,这个时候程序编译就会有问题了,有了 Cargo.lock 就可以避免出现这样的情况。这个跟前端的包管理工具 yarn 生成的 yarn.lock 文件类似。

        target 文件夹里是 cargo 用来存放编译时产生的中间结果和可执行文件的,由 cargo 自己管理我们不用太在意,知道在这里能找到我们 cargo 编译好的可执行文件就好了,这里的可执行文件名称跟我们的项目名称一样也叫 hello-rust, 有同学可能会问, cargo 怎么知道我们的项目叫 hello-rust 呢,如果我想再小激动一把让它生成的可执行文件叫 hello-tianlangstuido 咋办呢?

        这里我们可以看下 Cargo.toml 的内容:


Cargo.toml

         package 区域的 name 项用于设定我们当前的项目名称也就是生成的可执行文件的名称,把这里的 hello-rust 改成 hello-tianlangstuido, 生成的可执行文件就叫 hello-tianlangstudio 了, name 配置项下面的version 用于配置我们项目的版本号,这个我们可以根据项目功能完成情况自己指定,再下面的 authors配置项用于配置开发者信息,你可以写上自己的名字或联系方式、github 账号邮箱什么的。再下面的 edition 用于指定当前项目使用的 rust 版本这里就不能随便改了,因为 rust 版本就俩个,一个2015 ,一个 2018 。2018 版本是在 2015 版本的基础上做了重新设计和功能改进,所以我们现在使用2018 版本。再下面的 dependencies 用于指定我们项目依赖的官方或第三方提供的 rust 库,我们当前的项目没有用到外部库所以这里为空。

  在上一期中我们还小激动了一把,通过修改 main.rs 文件把我们的名字输出到了命令终端上。


main.rs

       像“ Hello,TianlangStudio !”这样用双引号括起来文本信息我们称为字符串字面量。像这样的字面量还有整数字面量(整数也就是不带小数没有小数点的数字如 1\2\3\4 )、浮点数字面量 ( 浮点数也就是带小数点的数字如1.5/1.6) 、布尔字面量(布尔是英文 boolean 的音译,代表 ture 或 false )、 字符字面量(是用单引号括起来的一个字符,如‘ A’’ ,‘ Z’’ ),这里要注意我们在编写代码中语法中所使用的标点符号都是英文输入法状态的如果使用中文输入法状态的符号可能会报错,中文状态的标点符号和英文状态的是不一样的,大家可以对比下。

      我们通过修改 "Hello World" 为 "Hello,TianlangStudio!" 在命令终端输出了"Hello,TianlangStudio!" ,大家应该已经注意到在我们的需求中只需要修改" world" 为" tianlangstuido" 而不需要修改前面的" Hello" ,当前的做法我们很容易就会误伤到 Hello 可能一不小心就修改成了 "Hell TianlangStudio"。那能不能把这个字符串需要修改的部分和不变的部分开编写呢?这样我们就可以分开修改了,以免伤及无辜。

  我们可以把这个字符串的不用变的前半部分定义为一个常量就是它通常就是这个值所以叫常量,后半部分的 world 在我们的需求里是需要改变的,要改变为 “TianlangStudio” ,我们可以定义一个变量来存储这样经常需要变化的值,在 rust 中使用 const 关键字定义常量 , 使用 let 关键字定义变量。

        我们来修改下 main.rs定义一个 HI常量并指定它的值为“ Hello”,定义一个 name 变量并指定它的值为“ TianlangStudio”, 在 println 中我们就可以输出 HI和 name 来达到输出“Hello,TianlangStudio” 的目的。

main.rs

         这里的 name 因为它的值是一个字符串字面量,我们就称为字符串类型的变量,跟字面量一样,变量的类型除了 字符串类型还有整数类型、浮点数类型、布尔类型、字符类型这样的基本数据类型。

         这一期我们就先跟数据类型混个脸熟,如果在观看中有什么问题欢迎通过平台给我们留言。

        这里是一条 Stack Overflow2019 关于编程语言薪酬排行开发者调查报告

top 10

        我们可以看到在全球排行 Top10 里已经出现了 Rust 的身影

        相关视频请访问

Some of the biggest lies: It’s my parents fault. I didn’t go to the right school. Only a few people are born smart. I am not lucky. It’s never my fault. If only I had... If only circumstances were different ... If only I could...

你可能感兴趣的:(学习新时代编程语言Rust-3基本数据类型)