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

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

1、简单创建Hello World项目

环境啥的先配置完,按照官网的教程没几步,主要就是cargorustc
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

相关推荐
库玛西32 分钟前
现代 C++ 智能指针全景指南:从 RAII 思想到工业级实践
c语言·开发语言·c++·笔记·面试
liulilittle1 小时前
无锁并发容器的设计与实现原理
开发语言·c++·set·map·并发·无锁·lock-free
还不秃顶的计科生1 小时前
具身智能论文学习8:Octo: An Open-Source Generalist Robot Policy
人工智能·深度学习·学习·机器学习·语言模型·vla·vlm
朋克洛德的码农1 小时前
Go并发-sync包四剑客:Mutex、RWMutex、WaitGroup、Once-从入门到原理
开发语言·后端·golang
woshihuanglaoshi2 小时前
事务加持防超卖:ArkTS 在鸿蒙里玩转 TRANSACTION 出入库
学习·华为·harmonyos
世人万千丶2 小时前
去重插入与超限淘汰:ArkTS 实现鸿蒙搜索历史的 LIMIT 艺术
运维·服务器·学习·华为·harmonyos·鸿蒙
Patrick_Wilson2 小时前
sccache 用在 Rust 上为什么常「不省编译」:原理、限制与 Windows 接入
ci/cd·rust·编译器
淼澄研学2 小时前
Kimi API黑产倒卖技术解析与Python合规接入指南
开发语言·网络·python
冻柠檬飞冰走茶3 小时前
PTA基础编程题目集 7-35有理数均值(C++语言实现)
开发语言·数据结构·c++·算法·均值算法
wangchen_03 小时前
C++正则表达式
开发语言·c++·正则表达式