Rust控制台输出跑马灯效果,实现刷新不换行,实现loading效果

要在 Rust 中实现控制台刷新而不换行,以实现类似 "loading" 状态的效果,你可以使用 \r(回车符)来覆盖上一行的内容。

use std::io::{self, Write};
use std::thread;
use std::time::Duration;

fn main() {
    let loading_chars = vec!['-', '\\', '|', '/'];
    let mut index = 0;

    loop {
        print!("\rLoading {} ", loading_chars[index]);
        io::stdout().flush().unwrap();

        index = (index + 1) % loading_chars.len();
        thread::sleep(Duration::from_millis(250));
    }
}

在这个示例中,我们使用一个字符向量 loading_chars 来表示不同的加载状态。然后,我们在一个循环中不断打印当前加载状态,并使用 \r 来回车到行首,实现不换行刷新的效果。通过不断更新 index 变量来循环显示不同的加载状态字符。

运行这段代码,你会看到控制台中打印出一个不断刷新的 "loading" 状态,每隔一段时间更新一次加载状态字符。你可以根据需要调整加载状态字符和刷新频率。

实现进度刷线显示功能:

use std::thread;
use std::time::Duration;
use std::io::{self, Write};

fn main() {
    for i in 0..=10 {
        print!("\rProgress: {}%", i * 10);
        io::stdout().flush().unwrap();
        // 等待一段时间,模拟耗时操作
        thread::sleep(Duration::from_secs(1));
    }
    println!("\nDone!");
}

实现效果:

相关推荐

  1. Android 实现马灯效果

    2024-03-29 16:32:01       50 阅读
  2. Python中实现马灯效果

    2024-03-29 16:32:01       43 阅读
  3. css实现马灯(电子屏滚动)效果

    2024-03-29 16:32:01       50 阅读
  4. react mui textfield marquee 马灯效果实现

    2024-03-29 16:32:01       53 阅读
  5. Android 自定义Drawable实现马灯效果

    2024-03-29 16:32:01       25 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-29 16:32:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-29 16:32:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-29 16:32:01       82 阅读
  4. Python语言-面向对象

    2024-03-29 16:32:01       91 阅读

热门阅读

  1. Spring 的DI 依赖注入

    2024-03-29 16:32:01       45 阅读
  2. Linux Crontab定时表教学大全(一看就会!)

    2024-03-29 16:32:01       46 阅读
  3. 如何避免过度设计

    2024-03-29 16:32:01       51 阅读
  4. SparkSQL异常数据清洗API

    2024-03-29 16:32:01       46 阅读
  5. CentOS7.x 上安装并配置 MySQL 8.x

    2024-03-29 16:32:01       43 阅读
  6. 小程序配置服务器域名

    2024-03-29 16:32:01       52 阅读
  7. 构建docker环境下的thunder迅雷插件

    2024-03-29 16:32:01       49 阅读
  8. C#——系统学习(类与对象)

    2024-03-29 16:32:01       42 阅读
  9. 笔记82:关于 C++ 中的 swap 函数

    2024-03-29 16:32:01       40 阅读