自己除了找python相关的岗位,还想找一下go的岗位,有转语言的倾向。但我自由半年的项目经验。
谈谈对defer的认识
- defer用于资源的释放,会在函数返回之前进行调用,它会经常被用于关闭文件描述符、关闭数据库连接以及解锁资源、还有就是refer+recover的方式捕获异常。
- 在执行defer语句的时候,程序不会立即执行,而是先将defer后面的语句压入栈中,值得注意的是,如果后面的语句含有变量,那么会copy一份一起压入栈,等整个方法体执行完毕之后,再根据先入后出的顺序执行defer后面的语句
谈谈切片和数组吧
- 切片是不定长的,数组必须给定一个长度
- 切片如果作为函数参数,如果修改切片里面的值,外面的切片也会被修改;值得注意的是,如果在函数内append操作,则会copy一份切片,不会影响外面的切片值。append操作会根据切片当前容量,如果当前容量满了,则会以2的倍数创建一个新的切片,容量步长是这样的1,2,4,8,16….
- 数组作为函数参数,传递的是值,修改函数内的数组不影响外部数组,因为函数会copy一份数组
谈谈goroutine吧
原创文章,作者:站长,如若转载,请注明出处:https://wsppx.cn/949/%e7%bd%91%e7%bb%9c%e5%bc%80%e5%8f%91/

相关推荐
-
记一次Proto Http请求报错问题:unKnow error: proto: (line 1:9): invalid value for int32 type: 100100013100
背景 kratos支持rpc和http方式进行通信,由于不同集群,不能进行内网通信,最终还是用http的方式,由于部门用的都是kratos,因此可以不用修改原来的通信方式,只是将之…
-
docker教程系列之docker是什么
简介 Docker 是一个开放源代码软件,是一个开放平台,用于开发应用、交付(shipping)应用、运行应用。 Docker允许用户将基础设施(Infrastructu…
-
golang同目录调用其他文件函数的用法
问题复现 解决方法 这个应该是新手常见的问题,golang的包管理方式,这个运行错误是由于你执行了main.go,而没有编译其他go文件,当然不知道run函数哪里来的 正确方式 g…
-
Python通过mac地址唤醒电脑
需求 家中nas需要定时唤醒 远程在外唤醒家中的电脑 直接上代码 说明 mac地址可以在自己的路由器中获取 网络唤醒,需要被唤醒的机器主板支持网络唤醒,记得在bios设置 通过外网…
-
记录一次go mod vendor 没有同步所有的package
注意 :go mod vendor 只同步被代码使用过或者引用过的package,如果你发下go mod tidy明明将包都下载下来了,但是vendor文件夹少了几个package…
-
python后端开发面试-装饰器
装饰器在python中是经常用到的,装饰器顾名思义是装饰的作用,其实就是一个函数把另外一个函数当作参数而已 函数装饰器 无参数装饰器 需要注意的是 @cost_time # 装饰没…
-
python后端开发面试-redis缓存
默认16个数据库 五中数据结构 string list(列表) set(集合) zset(有序列表) hash(字典) 理解穿透、击穿、雪崩及其处理方法 redis怎样实现分布式锁…
-
安装gitlab runner 和配置.gitlab.yaml 实现自动化cicd
前面有讲到如何安装gitlab,它本身不仅仅可以实现代码仓库版本管理,当然可以做到cicd,简化手动部署到烦扰,实现自动化编译和部署 要做实现cicd,如果是虚拟机部署到话,当然离…
-
n1docker存储空间不足
复现 查看存储情况 overlay use 100% 查看docker 存储空间 先删除一些镜像 如果删除镜像都报错,那就随便找一个10m以上的文件删除,不然命令都执行不了 删除一…