golang
已收录文章:14033篇
-
合理使用指针可减少内存拷贝并提升性能,尤其在处理大结构体或需修改原值时。通过传递指针而非值,避免复制大型对象,如User结构体示例所示,传指针仅复制8字节地址,显著降低开销。Go语言默认值传递,函数内无法修改原始变量,而指针允许直接操作原数据,适用于计数器递增等场景。当函数参数为指针类型时,能确保方法对接收者修改生效,如Processor的Process方法需用指针接收者以保证数据变更反映到原实例。但应避免对int、bool等小对象过度使用指针,因其传值更高效且安全;同时禁止返回局部变量地址,防止悬空指针464 收藏
-
使用len()函数可获取Golang中切片或数组的长度,适用于数组、切片、字符串等类型;切片调用len()返回元素个数,如[]int{1,2,3,4,5}结果为5,空切片为0;数组为固定长度,len()返回定义时的容量,未初始化元素不影响长度,如[3]int和[5]string{"a","b","c"}分别输出3和5;常用于判断是否为空,若len(slice)==0则为空;注意nil切片和空切片的len()均为0,需通过slice==nil判断是否为nil;len()是安全高效的标准做法。464 收藏
-
metrics 是什么? 当我们需要为某个系统某个服务做监控、做统计,就需要用到Metrics 五种 Metrics 类型 Gauges :最简单的度量指标,只有一个简单的返回值,或者叫瞬时状态Counters:Counter 就是计数463 收藏
-
后台用户登录验证功能是很多项目的必须要有的逻辑 , 也是常见的技术需求 . 要实现这个逻辑首先要有数据库表结构如下: CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL DE463 收藏
-
在Golang多协程的情况下使用全局map时,如果不做线程同步,会出现panic的情况。 为了解决这个问题,通常有两种方式: 第一种是最常见的使用互斥锁或者读写锁的方法; 第二种是比较符合G463 收藏
-
问题及场景 业务当中有需要分发http.request.body的场景。比如微信回调消息只能指定一个地址,所以期望可以复制一份消息发给其他服务。由服务B和接收微信回调的服务A一起处理微信回调信息。463 收藏