站点图标 谷姐靓号网

这是我第三次入门RUST了-yjsx86

Rate this post

前两次看视频看到一半 就放弃了
这一次看的电子书 , 说实话比看视频强多了, 再动手跟着电子书写写代码, 以前好多不懂的知识这次好像都搞懂了
于是不知道哪里来的自信——“我入门Rust了”。我会python js go 想着写点小程序应该可以的
谁曾想出师未捷身先死, 跟着电子书写的第一个小程序

args的类型是Vec<String> 是个vector 是个集合 数据存放在堆上, 由于没有实现copy trait ,在不获得其所有权的情况下
以引用的形式传入parse_config函数
但是当我看到parse_config的函数签名 args 的类型是 &[String] 时 我凌乱了, 想不通
然后百度 数组 数组切片 vector
然后一小时就过去了

    use std::{fs, env};

    fn main() {
    let args: Vec<String> = env::args().collect();
    let (query, filename) = parse_config(&args);

    let contents = fs::read_to_string(filename)
    .expect("Something went wrong reading the file");

    println!("With text:\n{}", contents);
    }

    fn parse_config(args: &[String]) -> (&str, &str) {
    let query = &args[1];
    let filename = &args[2];
    (query, filename)
    }

热议
推荐楼 ecs 12小时前

真正学编程的人从来不提学编程

也不会提教程例子,都是直接从实际项目入手的

2楼 letzvps 12小时前

没接触过rust,感觉语法融合了c++,js,go

3楼 toneal 12小时前

就是个形参实参的区别&在内存操作里只是个变量值传递,并非变量地址传递。我这是半吊子意**

5楼 我的心是冰冰的 11小时前

入门rust电子书看的哪一本,我试试看能不能入

6楼 Oneman 11小时前

RUST学习路线太陡峭了,还是先把java学好吧。

7楼 dvbhack 10小时前

想不通
然后百度 数组 数组切片 vector
然后一小时就过去了

这里,换成 Google 甚至 Bing,并建议屏蔽 CSDN.

8楼 暗夜精灵 9小时前

PHP是世界上最好的语言

9楼 Winsonkill 8小时前

这语法

10楼 Do. 8小时前

我也已经第三次被挡在门外了!!!

12楼 奧巴马 7小时前

let args: Vec<String> = env::args().collect(); //这应该是指针,非传值,这玩意的含义是你义的,单一指针地址是没有任何意义的
(args: &[String]) -> (&str, &str) //这是告诉编译器这指针应该怎样解析. 不爽你也可以把它换成int32,当然

以上是我个人理解,欢迎探讨.

13楼 scheme 7小时前

人生苦短,我学汇编

14楼 js攻城狮 7小时前

你知道Vec占几个字节吗,String占几个字节吗

就相当于

    parse_config(args.deref())

16楼 yjsx86 半小时前

Xhofe 发表于 2022-12-7 11:46
这应该是Type coercions的一种:
&T or &mut T to &U if T implements Deref.

老哥靠谱,网上搜索的和你说的差不多

17楼 louiejordan 26分钟前

这玩意什么都好,就是难学

申明:本文内容由网友收集分享,仅供学习参考使用。如文中内容侵犯到您的利益,请在文章下方留言,本站会第一时间进行处理。

退出移动版