Golang
Golang碎片化知识总结
小贝壳的铁粉
最最最最普通的程序员
展开
-
Golang中多个defer的执行顺序以及defer在什么情况可以修改返回值
defer,return,return value(函数返回值) 执行顺序:首先return,其次return value,最后defer。Defer 作用:defer 延迟函数,释放资源,收尾工作;如释放锁,关闭文件,关闭链接,捕获 panic。多个 defer 调用顺序是 LIFO(后入先出),defer后的操作可以理解为压入栈中。避坑指南:defer 函数紧跟在资源打开后面,否则 defer 可能得不到执行,导致内存泄露。原创 2023-12-01 15:22:46 · 729 阅读 · 0 评论 -
Golang中数组和切片的区别
Golang中数组和切片的区别数组是值类型,切片是指针类型(是对数组的一个连续片段的引用)数组的长度是固定的,而切片的长度是动态的(切片可以自动扩容)切片比数组多一个属性:容量(cap),可以用 cap() 函数得到容量大小切片的底层是数组(切片是一个拥有相同类型元素的可变长度的序列,是基于数组类型做的一层封装)原创 2023-12-01 15:05:45 · 52 阅读 · 0 评论 -
Golang中make和new的区别
new() 和 make() 都是 golang 中用来分配内存的函数,它们主要有三个区别:接收参数不一样:new() 只接收一个参数,而 make() 可以接收多个参数返回类型不一样:new() 返回一个类型的指针,而 make() 返回类型和它接收的第一个参数类型一样应用场景不一样:make() 专门用来为 slice、map、chan 这样的引用类型分配内存并作初始化,而 new() 用来为其他类型分配内存。原创 2023-11-30 17:21:12 · 298 阅读 · 0 评论 -
Golang中如何控制goroutine并发执行顺序
利用channel控制goroutine并发执行顺序原创 2023-11-30 14:46:55 · 216 阅读 · 0 评论