摘要: 1. 什么是闭包? 一个函数内引用了外部的局部变量,这种现象,就称之为闭包。 例如下面的这段代码中,adder 函数返回了一个匿名函数,而该匿名函数中引用了 adder 函数中的局部变量 sum ,那这个函数就是一个闭包。 package main import "fmt" func adder() 阅读全文
posted @ 2025-06-05 09:40 Zero&&One 阅读(8) 评论(0) 推荐(0)
摘要: 1. 扩容后预估容量 假设现在有一个长度为 2 的切片,对其进行扩容,增加三个元素 sli := []int{1,2} sli = append(sli, 3, 4, 5) 对于扩容后的切片,长度为 5,这一点没有任何争议。 但容量呢?难道也是 5? 经过运行验证,实际的容量为 6 。 什么情况?这 阅读全文
posted @ 2025-06-05 09:17 Zero&&One 阅读(3) 评论(0) 推荐(0)
摘要: 切片是一个引用类型,将它作为参数传入函数后,你在函数里对数据作变更是会实时反映到实参切片的。 func foo(s []int) { s[0] = 666 } func main() { slice := []int{1,2} fmt.Println(slice) // [1 2] foo(slic 阅读全文
posted @ 2025-06-05 09:02 Zero&&One 阅读(2) 评论(0) 推荐(0)
摘要: Go里面的数组是值类型,切片是引用类型。 值类型的对象在做为实参传给函数时,形参是实参的另外拷贝的一份数据,对形参的修改不会影响函数外实参的值。 因此在如下例子中两次打印的指针地址是不一样的 package main import "fmt" func arrayTest (x [2]int) { 阅读全文
posted @ 2025-06-05 08:47 Zero&&One 阅读(2) 评论(0) 推荐(0)
摘要: Go语言中都是值传递,而不是引用传递,也不是指针传递。 Go 中切片的底层结构是这样的 type slice struct { array unsafe.Pointer len int cap int } 而当你将切片作为实参传给函数时,函数是会拷贝一份实参的结构和数据,生成另一个切片,实参切片和形 阅读全文
posted @ 2025-05-30 12:52 Zero&&One 阅读(8) 评论(0) 推荐(0)
摘要: 切片是一个引用类型,将它作为参数传入函数后,你在函数里对数据作变更是会实时反映到实参切片的。 func foo(s []int) { s[0] = 666 } func main() { slice := []int{1,2} fmt.Println(slice) // [1 2] foo(slic 阅读全文
posted @ 2025-05-30 12:49 Zero&&One 阅读(3) 评论(0) 推荐(0)
摘要: 什么是面向对象 面向对象程序设计是以建立模型体现出来的抽象思维过程和面向对象的方法。我们可以将某个事物抽象出来,赋予它自己的特征,并且可以针对这个事物进行相应的操作,以及规定与其他对象之间的关系。 可以降低代码的耦合度,使程序更加灵活。 面向对象和面向过程的区别 面向过程: 优点:性能比面向对象高, 阅读全文
posted @ 2025-05-07 22:07 Zero&&One 阅读(16) 评论(0) 推荐(0)
摘要: /** * 整体解题思路如下: * 1. 首先,在高度数组中找到最高柱子的索引。因为最高柱子会把数组分为左右两部分, * 后续分别从左右两侧向最高柱子进行遍历计算雨水量。 * 2. 从左到右遍历到最高柱子的左边部分: * - 维护一个变量 last 来记录当前遍历区间内的最大高度的柱子索引。 * - 阅读全文
posted @ 2025-05-07 21:57 Zero&&One 阅读(2) 评论(0) 推荐(0)
摘要: 分布式事务 分布式事务产生的背景 在传统的单体项目中,多个不同的业务逻辑使用的都是同一个数据源,使用的都是同一个事务管理器, 所以不会存在事务问题。 在分布式或者微服务架构中,每个服务都有自己的数据源,使用不同事务管理器, 如果A服务去调用B服务,B服务执行失败了,A服务的事务和B服务的事务都会回滚 阅读全文
posted @ 2025-05-04 14:39 Zero&&One 阅读(64) 评论(0) 推荐(0)
摘要: 锁重试 三个参数: 1、waitTime:获取锁的最大等待时间(没有传默认为-1) 2、leaseTime:锁自动释放的时间(没有传的话默认-1) 3、unit:时间的单位(等待时间和锁自动释放的时间单位) 假如没传leaseTime,则time就是指获取锁的最大等待时间(没有传默认为-1),而且l 阅读全文
posted @ 2025-04-22 21:29 Zero&&One 阅读(8) 评论(0) 推荐(0)