Rust之抽空学习系列(一)—— Hello World

Rust学习抽空学习系列(一)

1、简单创建Hello World项目

环境啥的先配置完,按照官网的教程没几步,主要就是cargo和rustc
http://rust.p2hp.com/tools/install

首先,初始化一个项目结构,用到cargo init命令,在创建好的目录里初始化项目结构

这个命令会在当前目录进行项目结构初始化,将当前目录作为项目容器

当然,如果还没有创建项目的目录的话可以直接使用cargo new命令完全创建一个新的项目

shell 复制代码
cargo init

在当前目录结构初始化完毕后,生成的也就以下这几个文件:

  • src/:源代码目录
  • main.rs:预生成的入口文件,里面有个main()方法,可以输出"Hello, world!"
  • Cargo.toml:项目构建相关的配置文件,项目复杂的时候用处很大

    点击"运行",执行一下main.rs文件,会发现目录里又会多出几个文件

    这些都是程序运行才生成的文件(target\目录以及Cargo.lock)
    程序运行完毕,输出"Hello, world!",这便是第一个程序啦~~

    程序运行的时候,会生成可执行文件,放到项目的target\debug\目录下

    直接运行rust-app-2024同样可以得到刚刚的输出结果

2、聊一聊Hello World内容

rust 复制代码
fn main() {
    println!("Hello, world!");
} 

以上便是这个简单的程序的全部代码内容,将其拆解一下:

  • main函数
  • 宏
  • 字符串参数
  • 分号

main函数

首先,如下结构在Rust中表示一个函数,并且这还是一个特殊的函数------main函数

这个函数在可执行的Rust程序中总是最先被执行的 ,并且没有参数和返回值

{}之间便是main函数具体执行的业务逻辑,在这里便是输出"Hello, world!"

rust 复制代码
fn main() {
    
} 

宏

println!("Hello, world!");这行作为具体业务的代码本身是一个宏 ,宏是以!结尾的,比如目前的println!,而普通的函数是没有的,但这目前并不会影响我们的理解

参数

这里的参数是指宏调用时传入的参数,即"Hello, world!",这显然是一个字符串,或者更确切一点应该是字符串字面量,它告诉宏需要打印什么内容

分号

Rust使用英文分号;表示一条语句的完结,这和许多其他编程语言一样

这便是一个平平无奇的Rust的Hello World,构成简单,除了宏(也没啥理解障碍,暂且当成函数看吧),好像并没有什么新东西出现,甚至都不需要导入包,挺简洁的~~,第一印象不错呢

https://kaisery.github.io/trpl-zh-cn/ch01-02-hello-world.html

相关推荐
Wang's Blog19 小时前
Java 项目实战: 交友项目:登录链路回顾与今日任务地图
java·开发语言·状态模式·交友
遇码19 小时前
流式调用中途断连别直接报错:瞬态故障识别、退避重试与中文根因诊断的搭建方法
大数据·人工智能·ai·rust·数据分析·大模型·agent
砚底藏山河19 小时前
python量化:行情数据回溯
java·开发语言·python·金融·maven
今年下半年19 小时前
AI智能体项目实战记录(02):初始化 Python 项目
开发语言·人工智能·python·fastapi
Williamtym19 小时前
PickGo Lab实践:用浏览器、Python和MCP串起机器人搬运仿真
开发语言·python·机器人
DongQiShanRen20 小时前
六根硬件映射(四):归属澄清、两处不一致与卷十一总表
开发语言·人工智能·算法·rust·哈希算法·集成学习
CS创新实验室20 小时前
Python 对象“死“了之后去了哪?——引用计数与分代垃圾回收
开发语言·jvm·python
quantdash_cc20 小时前
Pandas 处理分钟级股票行情:从原始数据清洗到 K 线聚合
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
yu_zhidun20 小时前
企业电脑监控软件怎么选:别只看功能清单,先看这 6 个底层能力
开发语言·电脑·php·域智盾系统
无忧.芙桃21 小时前
C++语言原理与实践(十六):多态机制讲解
开发语言·c++·多态