包与单元包 单元包(Crate):单元包可以被用来生成二进制的程序或者库;单元包的入口文件称为单元包的入口节点 包(Package):一个包由一个或多个单元包集合而成,用 Cargo.toml 描述包内的单元包怎么构建;一个包最多也拥有一个库单元包;包可以有多个二进制单元包;包必须至少拥有一个单元包,可以是库单元包,也可以是二进制单元包。 举个例子,我们一直用的cargo new test...
定义枚举例子:IP地址,只有 IPV4, IPV6 两个模式。 所以我们可以通过枚举类型的方式来描述 IP 地址的类型。 123456789enum IpAddKind{ IPV4, IPV6}fn main() { let four = IpAddKind::IPV4; let six = IpAddKind::IPV6;} 这里也就两个点...
定义及实例化方式定义和创建实例定义方法和 C++ 是一模一样了,详见代码 123456struct User{ username: String, email: String, sign_in_count: u64, active: bool,} 实例化方法稍显不同,方法和定义差不多,指名道姓的赋值,优势是不用对应顺序,可读性强。访问方法就还是传统的点运算符 1...
所有权和生命周期据说是Rust最难学也最核心的两个概念,也是Rust在没有垃圾回收的机制下确保内存安全的秘诀,现在就能开始接触这第一咯核心概念了。 什么是所有权前言一般内存管理就两种:1. 自动垃圾回收:在运行的时候定期检查并回收没有使用的内存;2. 程序员手动分配和释放;Rust提出了第三种规则,这套规则目的在于能让编译器在编译的过程中就检查内存问题,不需要在运行的时候花费代价去回收垃圾。...
变量,可变性,隐藏,常量这部分的内容基本都在前面了解过了,大致就是一下内容 变量与可变性Rust 默认变量是不可变的,需要可变的话需要加上 mut 关键字。 隐藏但没有 mut 的变量也可以进行修改,那就是 shadow 机制(翻译为“隐藏”,其实我不太能接受,因为“隐藏”这个词汇常常涉及到安全隐患,但在 Rust 中并非如此)。我们可以通过再 let 一个同名变量,来修改。 12let x...
输入与输出的尝试创建项目123cargo new guess_gamecd .\guess_game\cargo run 就是之前介绍的,用 cargo 创建项目的步骤,run 成功了就表明没问题啦 123456789use std::io;fn main(){ println!("欢迎来玩猜数游戏!"); println!("输入一个数...
本系列参考书目:《RUST权威指南》 久闻rust大名,趁着研究生还是学习生涯,抽空出来试试这个所谓的既高效,又安全的语言 环境安装与搭建Rust安装windows的安装很傻瓜式,只要进入官网,下载最新版本的安装包,按照进行安装即可。期间可能会提示让你安装VS的工具,照着安装即可。 安装完成后,就可以通过 rustc --version 来测试是否安装成功了。 同时...