Rust与Javascript的使用对比

一、常量

Rust Javascript
let const

二、变量

Rust Javascript
let mut let / var

三、常用打印

Rust Javascript
println!("换行"); console.log('hello');
print!("不换行"); console.info('信息');
- console.error('错误');
- console.warn('警告');

四、定义字符串

Rust Javascript
let a = String::from("xxx"); let a = "xxx";

五、定义类json

Rust

复制代码
fn main() {
    let user: User = User {
        username: String::from("Tom"),
        email: String::from("XXX@qq.com"),
        sign_in_count: 9,
        active: true
    };
    println!("{:?}", user);
    println!("{}", user.username);
    println!("{}", user.email);
    println!("{}", user.sign_in_count);
    println!("{}", user.active);
}

// `#[derive(Debug)]` 是 Rust 中的一个属性(attribute),用于自动生成实现 `Debug` trait 的代码。该属性可以应用于结构体、枚举和联合体等类型。
#[derive(Debug)]
struct User {
    username: String,
    email: String,
    sign_in_count: u64,
    active: bool
}

Javascript

复制代码
const user = {
    username: "Tom",
    email: "XXX@qq.com",
    sign_in_count: 9,
    active: true
}

console.log(user)

六、循环中的break

Rust

复制代码
fn main() {
    let arr: [&str; 5] = ["L", "C", "W", "A", "I"];

    let mut i = 0;

    let lo = loop {
        let w = arr[i];

        if w == "W" {
            break i;
        }
        
        i += 1;
    };

    println!("{}", lo);
}

Javascript

复制代码
const arr = ["L", "C", "W", "A", "I"];

let lo = 0

for (let i=0; i < arr.length; i += 1) {
    let w = arr[i];

    if (w == "W") {
        lo = i
        break
    }
};

console.log(lo)

七、条件语句

Rust 中的条件表达式必须是 bool 类型,否则报错

正确的如下

复制代码
fn main() {
    let a = 10;

    if a > 0 {
        println!("a is more than 0")
    }
}

Javascript中的条件表达式则没那么严格

复制代码
const a = 10

if (a) {
    console.log("a is true")
}

后面待续

相关推荐
FogLetter8 小时前
当JavaScript学会“分身术”:异步编程的进化简史
前端·javascript·面试
java1234_小锋9 小时前
Vue3+Vite简介以及构建第一个HelloWorld实例
前端·javascript·vue.js·vite
天天鸭10 小时前
5 万处中文的老项目实现国际化,如何用架构思维完成改造?
前端·javascript·架构
KryptonWright11 小时前
让 AI Agent 只能提议、不能擅自执行:Rust 中 prepare-confirm-execute 权限模型的实现
rust
月月大王的3D日记11 小时前
Three.js 入门系列(7):让甜甜圈围着我转 —— 3D文字生成
前端·javascript
起司喵喵13 小时前
推荐一款基于 Python 和 Rust 开发的跨平台 GUI 自动化库!
python·rust·自动化
半兽先生13 小时前
深度对比:Mapbox GL JS vs Maptalks,WebGIS 开发该如何选型?
开发语言·javascript·ecmascript
only-lucky13 小时前
QML深入学习五(Controls模块)
前端·javascript·学习
其美杰布-富贵-李14 小时前
第 5 篇:Object3D、Group 与场景树
javascript·three.js
海带紫菜菠萝汤15 小时前
H.264 宏块划分与码率分配机制:影响压缩效率的关键参数详解
前端·javascript·音视频