自己除了找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/
![微信扫一扫](https://wsppx.cn/wp-content/uploads/2021/06/WechatIMG90.jpeg)
相关推荐
-
前端面试题:Http code 301和 302区别
总结:301是永久跳转并且有缓存,而302是临时跳转,没有缓存。 使用场景:当迁移域名当时候,网站域名是永久性转移,这时可以用301; 而当只是在服务器内部跳转,比如访问服务器a….
-
面试题:mysql中自己实现自增id
面试官其实想考察的是如何实现分布式趋势自增ID。在mysql中如果给字段增加auto_increment属性,但是出现分库分表分布式的场景,那么单表的自增id并不少全局自增。 ID…
-
docker教程系列之docker怎么构建镜像
在前面一章我们讲到了如何使用docker,这一章将会讲到如何把我们的项目打包成docker镜像,这种需求在我们的工作中很非常常见的,下面将会分别讲到dockerfile文件构成,后…
-
python后端开发面试-垃圾回收
python垃圾回收机制是以引用计数为主,标记清除,分代回收为辅。 引用计数 在cpython中,引用计数的数据结构是这样的 ob_refcnt是记录对象被引用的次数,如果值为0,…
-
python2使用virtualenv报错 ImportError: No module named importlib_metadata
环境 centos python2.7.15 复现 解决方法 pip install –upgrade setuptools 这类错误 升级pip
-
golang同目录调用其他文件函数的用法
问题复现 解决方法 这个应该是新手常见的问题,golang的包管理方式,这个运行错误是由于你执行了main.go,而没有编译其他go文件,当然不知道run函数哪里来的 正确方式 g…
-
python后端开发面试-语言基础篇
Python是动态语言还是静态?强类型还是弱类型? python 是动态语言,怎么区分呢?关键看类型检测是在运行时检查还是编译时检查,Python是运行时检查,所以是动态语言,像j…
-
记录一次引用其他微服务的proto文件,修改了message 中的字段的问题
背景 有2个微服务A和B,在A微服务中引用了B的proto,也就是请求A服务,A服务调用B服务的内容,并且修改了其中一个message中的字段,修改的proto文件message的…
-
构建自己的脚手架过程大致记录
脚手架就是在启动的时候询问一些简单的问题,并且通过用户回答的结果去渲染对应的模板文件。 工作流程: 1.根据命令行交互询问用户问题 2.根据用户回答的结果生成文件 脚手架的简单雏形…
-
go协程中,main中无法捕获子协程的panic
在go中,虽然协程很好用,但是需要注意捕获他的异常,不如在生产环境中,子协程panic了,你的整个服务都会挂掉 错误示例 正确用法