草庐IT

tonic-Rust

全部标签

新政策惹众怒,Rust紧急澄清

作者|千山审校|云昭围绕开源的法律问题,讨论焦点往往集中在开源许可证、软件著作权等方面,商标的讨论却极少引人关注。事实上,关于开源软件以及开源软件的衍生产品的商标使用情况往往处于某种灰色地带。最近,Rust基金会正在就更新的商标政策征求反馈意见,没想到却在Rust社区引发了极大争议。图源:RustTrademarkPolicyCommentForm(google.com)尤其是新版草案中,禁止在Rust相关工具或用Rust编写的软件的名字中使用Rust,甚至在域名或子域名的部分也有针对性的限制。对此,有人直言,“希望基金会倾听社区意见,放弃这项政策,这将损害社区的善意和Rust语言的发展”。1

教程:Flutter 和 Rust混合编程,使用flutter_rust_bridge自动生成ffi代码

实践环境:ArchLinuxflutter_rust_bridge官方文档Flutter环境配置教程|Rust环境配置教程记录使用flutter_rust_bridge遇到的一些坑。假设我们已经配置了Fluuter与Rust环境现在直接使用flutter_rust_bridge模板创建自己的项目运行:gitclonehttps://github.com/Desdaemon/flutter_rust_bridge_template&&cdflutter_rust_bridge_template现在我们先让项目跑起来:flutterrun添加新代码:编辑native/src/api.rs安装代码生

rust的现状和未来发展

rust现状:StackOverflow的开发者调研显示只有7%的开发者在使用Rust,对比JavaScript、Python等语言,使用Rust的开发者占比并不高;但从2016年开始,Rust每年都是开发者最爱的编程语言。根据JetBrains2021年的调研报告,出于兴趣或为私人项目选择Rust的开发者仍然占大多数,真正用于工作的开发者仅占16%,而Go语言用于工作的开发者比例占到了61%,差距明显。各种招聘也表明rust岗位少,人才少。而java,go等很多。为什么叫好不叫座呢?我觉得大概原因可能有本身rust学习路线陡峭、编译时间长、一些特性不稳定比如异步编程等,以及外部原因比如发展时

【rust】| 06——语言特性 | 所有权

系列文章目录【rust】|00——开发环境搭建【rust】|01——编译并运行第一个rust程序【rust】|02——语法基础|变量(不可变?)和常量【rust】|03——语法基础|数据类型【rust】|04——语法基础|函数【rust】|05——语法基础|流程控制【rust】|06——语言特性|所有权文章目录1.所有权的概念2.所有权的规则3.变量的作用域4.所有权的移动/克隆4.1移动4.2克隆clone4.3copy5.所有权的转移5.1函数转移5.2返回值转移6.引用和借用6.1引用6.2借用6.3可变引用6.4空引用7.切片7.1字符串切片7.2其他切片7.3切片的范围7.4切片做函

python - 为什么 Python set 交集比 Rust HashSet 交集快?

这是我的Python代码:len_sums=0foriinxrange(100000):set_1=set(xrange(1000))set_2=set(xrange(500,1500))intersection_len=len(set_1.intersection(set_2))len_sums+=intersection_lenprintlen_sums这是我的Rust代码:usestd::collections::HashSet;fnmain(){letmutlen_sums=0;for_in0..100000{letset_1:HashSet=(0..1000).collect

python - 为什么 Python set 交集比 Rust HashSet 交集快?

这是我的Python代码:len_sums=0foriinxrange(100000):set_1=set(xrange(1000))set_2=set(xrange(500,1500))intersection_len=len(set_1.intersection(set_2))len_sums+=intersection_lenprintlen_sums这是我的Rust代码:usestd::collections::HashSet;fnmain(){letmutlen_sums=0;for_in0..100000{letset_1:HashSet=(0..1000).collect

Rust 基础系列 #4: Rust 中的数组和元组

在上一篇文章中,你学习到了Rust中的 标量数据类型。它们是整型、浮点数、字符和布尔值。在本文中,我们将会看看Rust编程语言中的复合数据类型。Rust中的复合数据类型是什么?复合数据类型可以在一个变量中存储多个值。这些值可以是相同的标量数据类型,也可以是不同的标量数据类型。Rust编程语言中有两种这样的数据类型:数组Array:存储相同类型的多个值。元组Tuple:存储多个值,可以是相同的类型,也可以是不同的类型。让我们了解一下它们吧!Rust中的数组Rust编程语言中的数组具有以下特性:每一个元素都必须是相同的类型数组有一个固定的长度数组存储在堆栈中,即其中存储的数据可以被 迅速 访问创建

算法leetcode|50. Pow(x, n)(rust重拳出击)

文章目录50.Pow(x,n):样例1:样例2:样例3:提示:分析:题解:rust:go:c++:python:java:50.Pow(x,n):实现pow(x,n),即计算x的整数n次幂函数(即,xn)。样例1:输入: x=2.00000,n=10 输出: 1024.00000样例2:输入: x=2.10000,n=3 输出: 9.26100样例3:输入: x=2.00000,n=-2 输出: 0.25000解释:2-2=1/22=1/4=0.25提示:-100.0-23131-1n是一个整数-104n4分析:面对这道算法题目,二当家的陷入了沉思。直接想到的就是模拟,x循环n-1次乘以x,但

像写 Rust 一样写 Python!

作者丨kobzol策划丨千山审校丨云昭几年前,我开始使用Rust编程,它逐渐改变了我使用其他编程语言(尤其是Python)设计程序的方式。在我开始使用Rust之前,我通常以一种非常动态和类型松散的方式编写Python代码,没有类型提示,到处传递和返回字典,偶尔回退到“字符串类型”接口。然而,在经历了Rust类型系统的严格性,并注意到它“通过构造”防止的所有问题之后,每当我回到Python并且没有得到相同的保证时,我突然变得非常焦虑。需要明确的是,这里的“保证”并不是指内存安全(Python本身是合理的内存安全),而是“稳健性”——设计很难或完全不可能被滥用的API的概念,从而防止未定义的行为和

Rust——关于Option详解

前言:Option是组成Rust程序的基石,熟练使用Rust的Option可以帮助我们进行程序的开发。但是Option这里的知识和细节比较绕,说白了就是各种套娃,本篇文章意在梳理Option的一些细节。关于Option的基本构成,这里不讲了,想必读者应当都会。首先,提供Rust标准库的官方文档供读者查阅。Optioninstd::option-Rust(rustwiki.org)目录区分Option中的T为&的情况Some包装遵守赋值操作符的规则区别&mut;mut&;mut&mutOption和迭代器 as系列方法as_ref和mapas_derefas_deref_mut区分Option中