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

相关推荐
MOONICK16 分钟前
QT元数据
开发语言·qt
D e re k ZH1 小时前
C++ 系统学习手记:从语法细节到工程实践
开发语言·数据结构·c++·算法
2603_969694851 小时前
JDBC 基础学习笔记:API 核心原理解析与 CRUD 代码实操
数据库·笔记·mysql·学习方法·database·sql注入
灿飞屋1 小时前
Kotlin与Java虚拟机三:控制流
android·java·开发语言·后端·python·kotlin·安卓
迪康coolmu2 小时前
出差终端数据安全落地实战:基于迪康端点安全一体化管理系统的四道防线实践
运维·服务器·经验分享·笔记·其他·安全·php
xiaoye-duck2 小时前
《C++ 项目:手写大模型接入 SDK》Ollama接口设计(上):初始化、全量响应实现和测试
开发语言·网络·c++·语言模型
总要学点什么3 小时前
第98篇:三维特效-材质线效果——给一条线换十种材质,虚线的图案只填了一半
开发语言·前端·javascript·ecmascript·gis·webgl·材质
蔡少将3 小时前
用 Tauri 2 给 Mac 应用接 Touch ID,签名公证都做了,还是 -34018
rust
田甲3 小时前
做一款 Type-C 母座读卡器:GL3224 双卡方案实测
c语言·开发语言
严肃小白兔3 小时前
MATLAB 绘图与科研论文插图制作:图形设计、统计表达与矢量导出
开发语言·matlab·科研绘图