uacs2024

导航

2026年5月8日 #

go slice

摘要: go slice扩容机制 1.17及以前 如果期望容量大于当前容量的两倍就会使用期望容量; 如果当前切片的长度小于 1024 就会将容量翻倍; 如果当前切片的长度大于 1024 就会每次增加 25% 的容量,直到新容量大于期望容量; Go1.18及以后,引入了新的扩容规则: 当原slice容量(ol 阅读全文

posted @ 2026-05-08 17:05 ᶜʸᵃⁿ 阅读(29) 评论(0) 推荐(0)

go 闭包

摘要: 闭包 = 函数 + 其引用的外部变量环境。当一个函数内部定义了一个匿名函数,并且这个匿名函数引用了外部函数的局部变量,那么这个匿名函数就叫闭包,它“闭合”了这些变量。 Go 的闭包在编译时被转换成一个匿名结构体实例,该结构体包含了需要捕获的外部变量指针。函数本体变成这个结构体的方法,调用时传递该结构 阅读全文

posted @ 2026-05-08 13:21 ᶜʸᵃⁿ 阅读(11) 评论(0) 推荐(0)

go panic与error

摘要: panic 是 Go 的一种运行时错误报告机制,类似于其他语言中的“异常”,但设计哲学完全不同。调用 panic 会让程序立即停止当前函数的正常执行,并开始沿调用栈向上冒泡,依次执行每一层的 defer,最终如果没有被 recover 捕获,则导致程序崩溃并打印栈跟踪信息。 由内置函数触发:pani 阅读全文

posted @ 2026-05-08 11:04 ᶜʸᵃⁿ 阅读(12) 评论(0) 推荐(0)

2026年5月7日 #

golang defer