ICode9

精准搜索请尝试: 精确搜索
  • Rust所有权和借用规则示例2022-06-29 23:33:39

    众所周知,所有权是Rust区别于其他语言的一大特色,只要代码满足了所有权规则,我们就不用担心内存的泄露的问题。 让代码在编译阶段就解决内存的问题,而不是在运行崩溃后再调试。 Rust中,所有权和借用的规则其实并不复杂,所有权有3条规则,借用只有2条规则。 所有权的规则 1. Rust中的每一个

  • 【Rust】归并排序2022-06-29 00:02:52

    环境 Time 2022-03-30 Rust 1.59.0 演示 思想:将大列表分割成小列表,在将小列表排序后组合成大列表再次排序。 动画来源:https://visualgo.net/en/sorting?slide=1 示例 递归实现 fn merge_sort(data: &mut [i32]) { if data.len() > 1 { let mid = data.len() / 2;

  • 最流行的WebAssembly Web开发框架: Blazor2022-06-28 09:02:28

    最新的一份《The State of WebAssembly 2022》调查报告已出炉,“对于 WebAssembly 来说,这是相当不错的一年”。报告的一些重点内容包括:Rust 的使用率和渴望度持续攀升Python 的使用量有了很大的提升JavaScript 已经成为一种可行的 WebAssembly 语言Blazor 的使用量和渴望度也都大幅

  • rust 问号2022-06-26 09:32:44

    // 什么是问号操作符? // 参考: https://doc.rust-lang.org/book/second-edition/ch09-02-recoverable-errors-with-result.html // 参考: https://stackoverflow.com/questions/42917566/what-is-this-question-mark-operator-about // 由于Rust中没有Exception异常处理的语法,

  • win10安装rust的开发环境完整教程(gcc编译器和vc++编译器)2022-06-25 18:34:32

    一、下载安装文件 1、打开rust官网,rust-lang.org,点击菜单【install】,下载rustup-init.exe文件,然后      二、运行安装文件 1.启动rust安装器,输入y回车 2. 如果安装vc++编译,一路默认设置就好 vc++编译安装,请参考文章:https://www.cnblogs.com/qumogu/p/16411908.html 3.使用

  • windows安装rust后找不到link.exe的问题解决办法2022-06-25 17:00:50

    安装rust官网安装的rust,运行cargo run就报错,link.exe not found    解决办法:  1、到微软vs的官方网站下载VS的社区版本:https://visualstudio.microsoft.com/zh-hans/vs/community/    2、会自动下载一个VisualStudioSetup.exe的文件    3、双击安装文件,会自动下载相关包

  • rust中的超时处理2022-06-21 00:01:33

    自从 tokio 1.0发布以来,rust的异步开发总算大势已定。尽管没达到标准库的速度,依然挡不住大家的热情。看编程排行榜,增加2倍的开发者。 既生瑜何生亮,感觉go就是小号的rust。   不废话了。背景:之前用go开发一个边缘网关的小东东,业余时间做了一大半。后来学了rust,打算练手,用rust重新

  • Arenas in Rust2022-06-14 23:03:09

    Arenas in Rust Bump, Arena Allocators Allocating Less: Really Thin Rust Cloud Apps

  • rust dotenv2022-06-13 12:31:50

    我们使用 dotenv 读取 OS 环境变量或者项目中的 .env 文件 rust 安装 dotenv 点击前往 官方安装教程 # 安装二进制文件和库 cargo install -f dotenv # 只安装库作为项目的依赖 cargo install cargo-edit cargo add dotenv 添加依赖 [dependencies] dotenv = "0.15.0" # 截至 20

  • standford cs110l lec42022-06-11 21:33:01

    rust中的面向对象 rust中的linklist, node表示Option包含两个变体,其中None表示该节点没有后继了,Box是个smart pointer,并且其中包含的类型存放在堆中 其中usize表示链表中的节点个数 &引用在rust中就是指针,虽然cpp中本质上也是,使用.运算符时,其会自动解引用 take()相当于Option的

  • standford cs110l lec32022-06-11 13:00:16

    lecture note rust的struct中存在指向其他buffer的指针的时候,如果有人要去解引用一个指针,并且这个指针指向的buffer已经被释放了,对于ownership的分析而言,就会出现问题 函数传递ownership还是传递reference, 编译器在传递ownership的时候,编译器会代表你在编译时执行ownership检查,

  • rust 错误处理2022-06-08 08:03:55

    rust 的错误处理十分优雅,没有 try-catch,也没有像是 go 一样的 if err != nil {...} rust 的错误处理是函数式的,使用起来十分流畅,其应对错误处理的方式也有很多 rust 通过枚举 Result<T, E> 来进行错误处理,而对于不应该发生错误的地方,rust 提供了 Option<T> 枚举供我们使用 pub enu

  • Rust 临时变量的生命周期2022-06-06 00:34:48

    https://doc.rust-lang.org/book/ch20-02-multithreaded.html The Rust Programming Language 的第 20 章第 2 节的最后,对比了下面两段代码的区别 impl Worker { fn new(id: usize, receiver: Arc<Mutex<mpsc::Receiver<Job>>>) -> Worker { let thread = threa

  • Python 缩进规则2022-06-04 20:03:33

    作用域是编程语言里的一个重要的概念,特别是块作用域,编程语言一般会使用明确的符号标记一个作用域的开始和结束。 例如 C、C++、Java、C#、Rust、Go、JavaScript 等常见语言都是用"{"和"}"来标记一个块作用域的开始和结束: // 这是一个C语言程序 if(i<10){     if(i<5){      

  • rust 入门2022-06-02 15:04:13

    Cargo Cargo是Rust的构建系统与包管理工具 构建代码,下载依赖的库,构建这些库 toml是cargo的配置格式。Rust中代码的包称为crate。 如果创建项目时,没有使用cargo,可以将源代码移到src中 cargo check可以用来检查代码,确保通过编译,cargo check比cargo build的要快 cargo --release

  • 最强肉坦:RUST多线程2022-06-02 00:00:30

    Rust最近非常火,作为coder要早学早享受。本篇作为该博客第一篇学习Rust语言的文章,将通过一个在其他语言都比较常见的例子作为线索,引出Rust的一些重要理念或者说特性。这些特性都是令人心驰神往的,相信我,当你读到最后,一定会有同样的感觉(除非你是天选之子,从未受过语言的苦 ^ ^ )。 本

  • The Bevy Book - 1.介绍2022-05-29 11:01:53

    介绍 如果您来到这里是因为想学习如何使用Bevy制作2D/3D游戏,可视化用户界面或其他图形应用程序...您来对地方了!如果没有,无论如何都要坚持下去。我保证这会很有趣。 Bevy在英语里是一群鸟的意思! 但Bevy在这里是一个Rust构建的简单数据驱动的游戏引擎。它永远免费和开源的。 Bevy有

  • 【Rust】哈希映射(四)2022-05-29 08:35:28

    环境 Time 2022-03-24 Rust 1.59.0 示例 get_mut fn main() { let mut map = HashMap::from([("a", 1), ("b", 2), ("c", 3)]); if let Some(v) = map.get_mut("c") { *v += 3 } println!("{:?}", m

  • 【Rust】字符串(二)2022-05-29 08:04:11

    环境 Time 2022-03-24 Rust 1.59.0 示例 capacity fn main() { let name = String::from("JiangBo"); println!("{:?}", name.capacity()); } reserve fn main() { let mut name = String::from("JiangBo"); name.reserve(10);

  • 【Rust】字符串(三)2022-05-29 08:03:50

    环境 Time 2022-03-24 Rust 1.59.0 示例 remove fn main() { let mut name = String::from("JiangBo"); name.remove(4); println!("{name:?}"); } retain fn main() { let mut name = String::from("JiangBo"); name.retai

  • 【Rust】字符串(四)2022-05-29 08:03:35

    环境 Time 2022-03-24 Rust 1.59.0 示例 drain fn main() { let mut name = String::from("JiangBo"); let name = name.drain(..5); println!("{:?}", name); } replace_range fn main() { let mut name = String::from("JiangBo&qu

  • 【Rust】字符串切片(一)2022-05-29 08:03:16

    环境 Time 2022-03-24 Rust 1.59.0 示例 len fn main() { let name = "JiangBo"; println!("{:?}", name.len()); } is_empty fn main() { let name = "JiangBo"; println!("{:?}", name.is_empty()); } is_char_bou

  • 【Rust】字符串切片(二)2022-05-29 08:02:46

    环境 Time 2022-03-24 Rust 1.59.0 示例 get_unchecked fn main() { let name = "JiangBo"; println!("{:?}", unsafe { name.get_unchecked(5..) }); } get_unchecked_mut fn main() { let mut name = String::from("JiangBo");

  • 【Rust】字符串切片(三)2022-05-29 08:02:12

    环境 Time 2022-03-24 Rust 1.59.0 示例 lines fn main() { let name = "Jiang\nBo"; name.lines().for_each(|e| println!("{e:?}")); } encode_utf16 fn main() { let name = "JiangBo"; println!("{:?}", name.en

  • 【Rust】字符串切片(四)2022-05-29 08:01:41

    环境 Time 2022-03-24 Rust 1.59.0 示例 rsplit fn main() { let name = "Jiang\nBo"; name.rsplit('\n').for_each(|e| println!("{e:?}")); } split_terminator fn main() { let name = "\nJiang\nBo\n"; name

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有