自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 让GPT给我出了几道Go语言的面试题

让GPT出了几道Go语言面试题:切片和数组有什么区别?在何种情况下应该使用切片而不是数组如何实现并发编程?讨论一下goroutine和channel的作用和特点空接口是什么?如何使用空接口实现任意类型的参数接受和返回defer语句有什么作用?它们是如何工作的垃圾回收是如何工作的?什么是循环引用互斥锁和读写锁有什么区别?在什么情况下应该使用写锁而不是互斥锁JSON编码和解码是如何实现的?讨论一下如何在编码和解码过程中处理空值和自定义类型简要描述一下错误处理机制。什么是panic和recover

2023-12-11 09:25:56 42

原创 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 433

原创 Golang中数组和切片的区别

Golang中数组和切片的区别数组是值类型,切片是指针类型(是对数组的一个连续片段的引用)数组的长度是固定的,而切片的长度是动态的(切片可以自动扩容)切片比数组多一个属性:容量(cap),可以用 cap() 函数得到容量大小切片的底层是数组(切片是一个拥有相同类型元素的可变长度的序列,是基于数组类型做的一层封装)

2023-12-01 15:05:45 41

原创 Golang中make和new的区别

new() 和 make() 都是 golang 中用来分配内存的函数,它们主要有三个区别:接收参数不一样:new() 只接收一个参数,而 make() 可以接收多个参数返回类型不一样:new() 返回一个类型的指针,而 make() 返回类型和它接收的第一个参数类型一样应用场景不一样:make() 专门用来为 slice、map、chan 这样的引用类型分配内存并作初始化,而 new() 用来为其他类型分配内存。

2023-11-30 17:21:12 287

原创 Golang中如何控制goroutine并发执行顺序

利用channel控制goroutine并发执行顺序

2023-11-30 14:46:55 163

原创 docker:用官方镜像在本地搭建PHP开发环境

远离搭建环境的烦恼,使用docker官方镜像也能简单搭建本地开发环境(可配置多站点,可灵活切换多个php版本)。本文全是干货,无脑按步骤操作即可。第一步:在本地创建一个工作目录,目录结构如下:lnmpnginxconfvhostdefault.conflogsredis...

2022-03-01 15:56:43 4430

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除