Rust所有权--与go对比学

如何拿返回值,如何不传递所有权就更改原值?如果想操作更改元变量要怎么做呢?

分别执行以下go代码:

func main() {var a = 10//calc1(a)//a = calc_return(a)calc2(&a)a = 100calc3(&a)fmt.Println(a)
}
func calc1(num int) {num += num
}
func calc_return(num int) int {num += numreturn num
}
func calc2(num *int) {*num += *num
}
func calc3(num *int) {*num += *num
}

rust代码:

use std::string;
fn main() {let mut s1  = String::from("learn rust");s1 =  foo_return(s1);println!{"{s1}"};  }
fn  foo_return(s:String)->String{println!{"{s}"};s
}
use std::string;
fn main() {let mut s1  = String::from("learn rust");// foo1(s1);// foo2(&s1);foo3(&mut s1);println!{"{s1}"};foo3(&mut s1);}
fn  foo1(s:String){println!{"{s}"};
}
fn  foo2(s:&String){println!{"{s}"};
}
fn  foo3(s:&mut String){s.push_str(",you can be 666");println!{"{s}"};
}

自己去体会其中的不同之处

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/701764.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL Server 连接池相关内容

查看最大连接数 SELECT MAX_CONNECTIONS查看指定数据库的连接数 SELECT * FROM master.dbo.sysprocesses WHERE dbid IN ( SELECT dbid FROM master.dbo.sysdatabases WHERE NAMEDB_WMS_KZJ )获取当前SQL服务器所有的连接详细信息 SELECT * FROM sysprocesses获取自上次启动…

五大方法教你如何分分钟构造百万测试数据!

在测试的工作过程中,很多场景是需要构造一些数据在项目里的,方便测试工作的进行,构造的方法有很多,难度和技术深度也不一样。本文提供方法供你选择。 在测试的工作过程中,很多场景是需要构造一些数据在项目里的&#…

Centos服务器部署前后端项目

目录 准备工作1. 准备传输软件2. 连接服务器 部署Mysql1.下载Mysql(Linux版本)2. 解压3. 修改配置4. 启动服务另一种方法Docker 部署后端1. 在项目根目录中创建Dockerfile文件写入2. 启动 部署前端1. 在项目根目录中创建Dockerfile文件写入2. 启动 准备工作 1. 准备传输软件 …

全网唯一基于共享内存的C++ RPC框架

首先声明:我不是标题党,我是在找遍全网,没有找到一个基于共享内存实现、开源且跨平台的C RPC框架之后,才着手开发的这个框架。 项目地址:https://github.com/winsoft666/veigar 1. Veigar Veigar一词来源于英雄联盟里…

Nacos服务发现及其其他工具

1、什么是Nacos的服务发现功能 在微服务架构中,服务发现功能允许服务提供者(服务实例)将自己注册到Nacos服务器,同时服务消费者(客户端)能够通过Nacos服务器发现可用的服务实例。这样,服务消费…

2024年湖北省事业单位考试报名流程图解

⏰ 时间安排 ✔️ 注册:2024年2月19日至2月27日15:00 ✔️ 报名:2024年2月21日9:00至2月27日17:00 ✔️ 资格审查:2024年2月21日9:00至2月28日9:00 ✔️ 缴费确认:2024年2月28日9:00至3月1日24:00 ✔️ 岗位调整和改报&#…

数据结构与算法:图形数据结构

1. 图的基本概念和表示方法 图是一种由节点和边组成的非线性数据结构,用于描述事物之间的关系。在计算机科学中,图是一种十分重要的数据结构,广泛应用于各种领域,如网络分析、路径规划等。本节将介绍图的基本概念和两种常见的表示…

C++知识点总结(22):模拟算法

一、概念 模拟算法 根据题目描述进行筛选提取关键要素,按需求书写代码解决实际问题的算法。 二、步骤 1、提取题目的关键要素 2、根据关键要素的需求完成代码 三、关键要素 1、题目目的 2、样例的执行逻辑(样例分析) 3、数据范围(…

上门服务系统|上门服务小程序|上门服务软件开发

随着移动互联网技术的普及,上门服务小程序系统成为现代企业数字化转型的关键一环。这一系统为消费者提供了更加便捷、高效以及个性化的服务体验,同时也为企业带来了更广阔的商业机会。让我们来看看上门服务小程序系统的优势和功能。 首先,上门…

vue3新特性-defineOptions和defineModel

defineOptions 背景说明&#xff1a; 有 <script setup> 之前&#xff0c;如果要定义 props, emits 可以轻而易举地添加一个与 setup 平级的属性。 但是用了 <script setup> 后&#xff0c;就没法这么干了 setup 属性已经没有了&#xff0c;自然无法添加与其平…

Docker基础篇(二)

docker run -d docker run -d 容器名或容器ID docker run -d 后台生成容器&#xff0c;并退出容器&#xff08;除容器中在运行脚本&#xff09; docker run -it 交互生成容器 docker run -d centos /bin/sh -c “while true; do echo zen; sleep 2;done” 查看容器中的进程…

【进程创建】

目录 进程创建的方式查看进程pid 调用系统调用创建子进程fock函数做了的工作子进程刚开始创建的状态 一个变量&#xff0c;两个不同的值创建子进程的作用 进程创建的方式 1.在操作系统上输入的指令。 2.已经启动的软件。 3.程序员在代码层面上调用系统调用创建进程。 linux中第…

服务器被黑该如何查找入侵痕迹以及如何防御攻击

当公司的网站服务器被黑&#xff0c;被入侵导致整个网站&#xff0c;以及业务系统瘫痪&#xff0c;给企业带来的损失无法估量&#xff0c;但是当发生服务器被攻击的情况&#xff0c;作为服务器的维护人员应当在第一时间做好安全响应&#xff0c;对服务器以及网站应以最快的时间…

【Java程序设计】【C00287】基于Springboot的疫情防控期间某村外出务工人员管理系统(有论文)

基于Springboot的疫情防控期间某村外出务工人员管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的疫情防控期间某村外出务工人员信息管理系统 本系统分为系统功能模块、管理员功能模块、用户功能模块、采集…

git 获取仓库代码与提交代码

1. 建文件夹&#xff0c;获取项目的完整代码 2.Git安装 打开安装程序后&#xff0c;一直点击下一步&#xff0c;直到以下位置&#xff1a; 此处代表使用VIM作为Git默认的编辑器。继续下一步&#xff0c;直到: 这里选择第一项&#xff0c;即仅仅在Bash中使用Git。如果有Linux的学…

面了 360、腾讯和百度的 NLP 算法岗,被问麻了。。。。。

文章目录 技术交流群1、360 NLP 算法岗2、腾讯 NLP 算法岗3、百度 NLP 算法岗用通俗易懂方式讲解系列 节前&#xff0c;我们组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂同学、参加社招和校招面试的同学&#xff0c;针对大模型技术趋势、大模型落地项…

后台管理登录权限怎么实现的,token具体有什么作用

后台管理系统的登录权限通常是通过以下步骤实现的&#xff1a; 用户输入用户名和密码进行登录。 后端接收到登录请求后&#xff0c;验证用户名和密码的正确性。 如果用户名和密码正确&#xff0c;后端会生成一个令牌&#xff08;Token&#xff09;&#xff0c;并将该令牌返回给…

281.【华为OD机试真题】贪吃的猴子(滑动窗口和动态规划—JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-贪吃的猴子二.解题思路三.题解代码Python题解代…

ASCII编码的影响与作用:数字化时代的不可或缺之物

title: ASCII编码的影响与作用&#xff1a;数字化时代的不可或缺之物 date: 2024/2/25 16:03:37 updated: 2024/2/25 16:03:37 tags: ASCII起源标准化字符文本处理基础编程语言基石数据库存储标准跨平台兼容多语言编码基础 一、ASCII编码的起源 ASCII&#xff08;American St…

Qt的QFileSystemModel与QTreeView、QTableView、QListView的组合使用

1.相关描述 QFileSystemModel与QTreeView、QTableView、QListView的组合&#xff0c;当QTreeView点击发生改变&#xff0c;QTableView和QListView也会发生变化 2.相关界面 3.相关代码 mainwindow.cpp #include "mainwindow.h" #include "ui_mainwindow.h"…