草庐IT

rust-crates

全部标签

Rust 如何实现 async/await

目录FutureWake&Context为什么需要executor?什么是waker?async/awaitExecutorWakerstruct到ArcWaketraitFuturesUnordered单线程executor线程池executor总结异步编程在Rust中的地位非常高,很多crate尤其是多IO操作的都使用了async/await.首先弄清楚异步编程的几个基本概念:FutureFuture代表一个可在未来某个时候获取返回值的task,为了获取这个task的执行状况,Future提供了一个函数用于判断该task是否执行返回。traitFuture{typeOutput;fnpol

Rust 如何实现 async/await

目录FutureWake&Context为什么需要executor?什么是waker?async/awaitExecutorWakerstruct到ArcWaketraitFuturesUnordered单线程executor线程池executor总结异步编程在Rust中的地位非常高,很多crate尤其是多IO操作的都使用了async/await.首先弄清楚异步编程的几个基本概念:FutureFuture代表一个可在未来某个时候获取返回值的task,为了获取这个task的执行状况,Future提供了一个函数用于判断该task是否执行返回。traitFuture{typeOutput;fnpol

Rust for Rustaceans: Idomatic Programming for Experienced Developers Chap.2 Types

翻译的内容如果有不理解的地方或者是其他的差错,欢迎后台回复讨论。类型在内存中的表示Rust中的每一个值都有自己的类型(Type)。在这一章中,我们将会看到Rust中的类型服务于许多不同的目的,但其中最基本的一个目的是告诉你如何翻译并理解内存中的比特。举例来说,比特串0b10111101(十六进制下为0xBD)本身并不能携带任何信息,只有当你赋予它一个特定的类型时它才有了含义:如果我们以u8为类型来翻译这一串比特,那么它代表着数字189;如果以i8为类型来翻译,那么它的含义变为了数字-67。当你定义自己的类型时,编译器将负责决定如何在内存中表示该类型的各个部分。你所定义的结构体(Struct)中

Rust for Rustaceans: Idomatic Programming for Experienced Developers Chap.2 Types

翻译的内容如果有不理解的地方或者是其他的差错,欢迎后台回复讨论。类型在内存中的表示Rust中的每一个值都有自己的类型(Type)。在这一章中,我们将会看到Rust中的类型服务于许多不同的目的,但其中最基本的一个目的是告诉你如何翻译并理解内存中的比特。举例来说,比特串0b10111101(十六进制下为0xBD)本身并不能携带任何信息,只有当你赋予它一个特定的类型时它才有了含义:如果我们以u8为类型来翻译这一串比特,那么它代表着数字189;如果以i8为类型来翻译,那么它的含义变为了数字-67。当你定义自己的类型时,编译器将负责决定如何在内存中表示该类型的各个部分。你所定义的结构体(Struct)中

亚马逊推出类TikTok功能、PHP8.2.0发布、GCC即将加入对Rust的支持 | T资讯

一、商业圈1、亚马逊发力社交电商:推出类TikTok功能亚马逊将推出一款类似于TikTok的服务,便于消费者从精选的图片和视频中购买商品。这个名为Inspire的新功能将于12月初面向部分美国用户推出,随后几个月向全美用户开放。Inspire服务以灯泡型图标的形式出现在应用中,要求用户选择20个以上的兴趣分类,包括化妆品、宠物和游戏等,然后据此为其定制内容,向用户推荐其他用户、品牌和达人分享的商品。亚马逊购物总监奥利弗・麦森奇(OliverMessenger)说:「用户只要点击几下就可以探索新的产品,或者得到新的购物灵感,这一切都是根据他们的兴趣量身定制的,然后便可在亚马逊上购买这些商品。」亚

亚马逊推出类TikTok功能、PHP8.2.0发布、GCC即将加入对Rust的支持 | T资讯

一、商业圈1、亚马逊发力社交电商:推出类TikTok功能亚马逊将推出一款类似于TikTok的服务,便于消费者从精选的图片和视频中购买商品。这个名为Inspire的新功能将于12月初面向部分美国用户推出,随后几个月向全美用户开放。Inspire服务以灯泡型图标的形式出现在应用中,要求用户选择20个以上的兴趣分类,包括化妆品、宠物和游戏等,然后据此为其定制内容,向用户推荐其他用户、品牌和达人分享的商品。亚马逊购物总监奥利弗・麦森奇(OliverMessenger)说:「用户只要点击几下就可以探索新的产品,或者得到新的购物灵感,这一切都是根据他们的兴趣量身定制的,然后便可在亚马逊上购买这些商品。」亚

写Rust,有三大内伤

​作者|RomanKashitsyn编译|言征Rust是语言设计领域的一个热点。它允许我们用简洁、可移植、有时甚至是漂亮的代码构建高效、内存安全的程序。然而,凡事都有两面,不会到处都是玫瑰和阳光。内存管理的细节通常会让开发工作陷入抓狂,并使代码比“高级”编程语言(如Haskell或OCaml)中的,更丑陋、更重复。最让人恼怒的是,在几乎所有情况下,这些问题都不是编译器的缺陷,而是Rust团队设计选择的直接后果。《编程元素》一书中,作者AlexanderStepanov写到:“函数式编程处理值;命令式编程处理对象。”本文通过丰富的案例详细介绍了如果你以函数式编程思维来处理Rust,它会有多令开发

写Rust,有三大内伤

​作者|RomanKashitsyn编译|言征Rust是语言设计领域的一个热点。它允许我们用简洁、可移植、有时甚至是漂亮的代码构建高效、内存安全的程序。然而,凡事都有两面,不会到处都是玫瑰和阳光。内存管理的细节通常会让开发工作陷入抓狂,并使代码比“高级”编程语言(如Haskell或OCaml)中的,更丑陋、更重复。最让人恼怒的是,在几乎所有情况下,这些问题都不是编译器的缺陷,而是Rust团队设计选择的直接后果。《编程元素》一书中,作者AlexanderStepanov写到:“函数式编程处理值;命令式编程处理对象。”本文通过丰富的案例详细介绍了如果你以函数式编程思维来处理Rust,它会有多令开发

Go 为什么不像 Rust 用 ?!做错误处理?

大家好,我是煎鱼。之前每次写Go错误处理的相关提案时,大家都会在评论区探讨到一个事。Go这活不得劲,常被戏称,一个大型Go工程项目里60%的代码都是 iferr!=nil。咱们错误处理怎么不借鉴一下Rust,高低也整个问号的语法特性,就可以简化这三行了,不香吗?借鉴Rust用?!|符号核心的点是在现有的Go例子中,我们一般要写 iferr!=nil,多了之后又多又杂看起来还有些麻烦。如下Go代码:count,err=fd.Write(bytes)iferr!=nil{returnnil,err}如果我们也借鉴Rust使用!和?的简化版,我们可以演进为如下代码:count:=fd.Write!(

Go 为什么不像 Rust 用 ?!做错误处理?

大家好,我是煎鱼。之前每次写Go错误处理的相关提案时,大家都会在评论区探讨到一个事。Go这活不得劲,常被戏称,一个大型Go工程项目里60%的代码都是 iferr!=nil。咱们错误处理怎么不借鉴一下Rust,高低也整个问号的语法特性,就可以简化这三行了,不香吗?借鉴Rust用?!|符号核心的点是在现有的Go例子中,我们一般要写 iferr!=nil,多了之后又多又杂看起来还有些麻烦。如下Go代码:count,err=fd.Write(bytes)iferr!=nil{returnnil,err}如果我们也借鉴Rust使用!和?的简化版,我们可以演进为如下代码:count:=fd.Write!(