RUST持续学习 一点borrow问题的心得记录

写RUST的时候,我经常遇到一个报错 说哪已经mut borrow了 不能再次mut borrow

经过分析实验

我感觉最合理的做法是设计的时候就要给该对象够多的API

lightsys需要装载各种light,Point Spot

这里要么把lighsys传递给对应的light进行操作,要么把point传递给lightsys进行操作

经过我的BUG体验之后,这类似的问题我算是摸清了

要尽量给这个主题多一些API

像这个lightsys

rust 复制代码
struct LightSys{
	p: PointLight,
	s: SpotLight
}
impl LightSys {
pub fn setPointLight(&mut self, radius? density? color?...)
pub fn setSpotLight(&mut self, radius? density? color?...)

这样就在外面直接light_sys.setXXXX setYYYY setZZZZ就避免了把这个light_sys传来传去

这个例子可能不太合理,但是主要就是记一下这个事情,理解这个问题,尽量避开传来传去,就能避免多次mut borrow~

相关推荐
2501_947575801 小时前
计算机毕业设计之jsp开山车行二手车交易系统
java·开发语言·hadoop·python·信息可视化·django·课程设计
骑士雄师1 小时前
java面试题 4:鉴权
java·开发语言
Byron__2 小时前
AI学习_06_短期记忆与长期记忆
人工智能·python·学习
时间的拾荒人2 小时前
C语言字符函数与字符串函数完全指南
c语言·开发语言
2501_948106913 小时前
计算机毕业设计之基于jsp教科研信息共享系统
java·开发语言·信息可视化·spark·课程设计
取经蜗牛3 小时前
Python 第一阶段完全指南:从零到第一个实用工具
开发语言·python
试剂界的爱马仕3 小时前
Anti-mouse PD-1 mAb (Clone RMP1-14) 与 Axitinib 小鼠实验使用方案整理汇总
大数据·人工智能·深度学习·学习
dog2504 小时前
从重尾到截断流量模型的演进
开发语言·php
qq_401700414 小时前
Qt QSS 完全入门写出漂亮界面以及解决样式不生效问题
开发语言·qt
Gp7HH6hrE4 小时前
OpenAI 与 Anthropic 开放公共学习平台
人工智能·学习·chatgpt