乱读天书, 不求甚解
周祎骏的个人云笔记
Toggle navigation
乱读天书, 不求甚解
主页
Linux:系统配置
Linux:用户管理
Linux:优化排错
Linux:进程调度
Linux:文件系统
Linux:网络
Linux:系统服务
Linux:安全
Linux:内核
容器:Docker
容器:containerd
容器编排:Kubernetes
IAC:Terraform
大数据:Hadoop
大数据:Zookeeper
大数据:Hbase
消息队列:rsyslog
消息队列:kafka
数据库:MySQL
数据库:MongoDB
搜索引擎:Elasticsearch
时序数据库:OpenTSDB
网站服务:Nginx
编程:Bash
编程:Perl
编程:Python
编程:C
编程:JAVA
编程:Rust
版本控制:gitlab
知识管理:docusaurus
常用小工具
关于我
标签
Rust 01.03 动态数组以及String
2023-02-05 10:10:59
42
0
0
admin
> 动态数组以及String ```rust let mut a: Vec<i32> = Vec::new(); // 申明动态数组 a.push(9); // 插入数据 let a_1 = a[0]; //获取第一个元素,不建议用这种方式,一旦下标不存在就会panic match a.get(0) { //获取第一个元素的标准方法 Some(a_2) => println!("{}",a_2), None => println!("none"), } let b = vec![1,2,3]; // 一次性申明动态数组 for i in &b { // 循环每一个元素 println!("{}",i); } ``` ``` for i in &v { .. } // 获得引用 for i in &mut v { .. } // 获得可变引用 for i in v { .. } // 获得所有权,注意此时Vec的属主将会被转移!! ``` # String String 看起来是动态数组(str类型),其实要更加复杂,因为不是每一个字符都只占一个字节。 ```rust let mut a = String::new(); // 申明string let b = "abc".to_string(); // 初始化string let c = String::from("ABC"); // 初始化string let d = "121"; c.push_str(d); // 将d拼接在c后,d 的所有权会移动 let s1 = "aaa".to_string(); let s2 = "bbb".to_string(); let s3 = s1 + &s2; // s1 所有权会移动 let s_1 = "aaa".to_string(); let s_2 = "bbb".to_string(); let s_3 = format!("{}{}",s_1,s_2); // 不会夺取任何参数所有权 let s4 = &s_3[0-1]; // 获取第一个元素(如果一个元素占两个字节的话,这样会panic for c in s_3.chars(){ //遍历字符串的方法 println!("{}",c); } ```
上一篇:
Rust 01.02 枚举
下一篇:
Rust 01.04 hashmap
文档导航