自己除了找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/
相关推荐
-
golang net http一个低级错误
错误信息 原因 在go中http/net不像python的requests,封装的没有那么全,默认没有加body类型。 解决方式 request.Header.Set(“…
-
Python通过mac地址唤醒电脑
需求 家中nas需要定时唤醒 远程在外唤醒家中的电脑 直接上代码 说明 mac地址可以在自己的路由器中获取 网络唤醒,需要被唤醒的机器主板支持网络唤醒,记得在bios设置 通过外网…
-
记一次Proto Http请求报错问题:unKnow error: proto: (line 1:9): invalid value for int32 type: 100100013100
背景 kratos支持rpc和http方式进行通信,由于不同集群,不能进行内网通信,最终还是用http的方式,由于部门用的都是kratos,因此可以不用修改原来的通信方式,只是将之…
-
记录一次go mod vendor 没有同步所有的package
注意 :go mod vendor 只同步被代码使用过或者引用过的package,如果你发下go mod tidy明明将包都下载下来了,但是vendor文件夹少了几个package…
-
构建自己的脚手架过程大致记录
脚手架就是在启动的时候询问一些简单的问题,并且通过用户回答的结果去渲染对应的模板文件。 工作流程: 1.根据命令行交互询问用户问题 2.根据用户回答的结果生成文件 脚手架的简单雏形…
-
python后端开发面试-语言基础篇
Python是动态语言还是静态?强类型还是弱类型? python 是动态语言,怎么区分呢?关键看类型检测是在运行时检查还是编译时检查,Python是运行时检查,所以是动态语言,像j…
-
http/https协议面试题
如何你的简历上写了熟悉http协议的,那就要准备这个面试了 http是长连接吗? 在http1.0的时候是短连接,每次与服务端通信都需要建立新的连接,也就是三次握手 在http1….
-
python后端开发面试-线程、进程、协程
简介 理解并发和并行 并行对应的是多进程 并发对应的是协程、线程(异步编程) 协程 协程之在python2中的yield使用 在python2中由于没有原生的协程,只有基于生成器的…
-
kubeadm安装单节点master
环境 centos7.6 三台虚拟机,一个master,2个node 192.168.0.11 master 192.168.0.12 node 192.168.0.13 node…