- 博客(4)
- 收藏
- 关注
原创 golang new和make使用时创建内存逃逸分析
函数内分配的指针,作为函数返回值返回的时候;栈空间不足的时候;interface:当函数的入参是interface的时候;(这也就是上面为啥fprint要逃逸,而普通方法不逃逸,因为fprint的入参为 …any,也就是[]interface{})slice和map里面的元素是指针的时候。
2023-12-07 14:00:11
343
2
原创 golang range内修改struct字段数据的坑
其实大家一开始接触golang的时候也没有注意为啥提供了两种range的遍历方案,而不是像java一样只提供了一种增强for循环的方案,这和golang在range循环的时候的引用传递策略有关,只读的情况下可以用 for _,v,如果有修改需求,切记要使用 for i 或者for i,v,使用slice[i]来操作原数据。
2023-11-15 11:04:35
261
原创 Golang学习:函数和方法中值传递和指针传递的区别
Age intgolang提供了丰富的参数传递方案,如果是指针传递,只会发生指针拷贝,不会发生值拷贝,但是会造成线程安全问题;如果是值传递,会发生值拷贝,线程安全不会发生了,但是会造成内存的重复开辟。今后的使用中,要注意根据场合使用,使用合理的开闭原则,禁止函数和方法对接收器和形参进行破坏性的更改,可以有效提升运行效率。
2023-11-13 12:07:10
190
原创 二维坐标转换
向量和空间解析几何高等数学中有一门课叫向量和空间解析几何,讲述了在同一个坐标系中,一个向量经过旋转,缩放和迁移之后,会变成一个新的向量。上图是一个简单的实例,正方形ABCD经过缩放、旋转、迁移之后形成了A’B’C’D’,在高数里面,很容易根据相关公式求出一个矩阵,算出A’B’C’D’的坐标,这里并不科普矩阵的计算方式;实际场景现实生活中,存在虚拟世界坐标和现实世界坐标,虚拟世界的坐标很方便拾取,而现实世界的坐标取值却很苦难,例如,计算机上用一个8000*6000像素的图片表示一个标准体育场,对应现实
2020-12-18 15:11:31
739
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人