Go面试看这里了~(十四)

原文地址:Go面试看这里了~(十四)
1、main和init的区别?
main和init的相同点:定义时不能有任何参数或返回值,且Go程序自动调用。
main和init的不同点:
init可应用于任意包中,且可重复定义多个。 main只能用于main包中,且只能定义一个。
main和init的执行顺序:
对同一Go文件的init调用顺序是从上到下。 对同一package中不同文件的init是按文件名称字符串大小从小到大顺序调用。 对不同package,如不相互依赖,则按main中先import后调用顺序调用init。 对不同package,如相互依赖,则先调用最早被依赖的package的init。
2、什么情况下Go runtime会创建一个协程?
在Go程序中可能有数千Go协程运行在一个线程中,如该线程中任一Go协程阻塞(如等待用户输入),此时Go会创建一个新OS线程并将其余Go协程移动到此线程,以上操作都是runtime来完成。
3、原生map线程安全吗?为什么?怎么实现线程安全map操作?
原生map线程不

Go面试看这里了~(十四)最先出现在Python成神之路

版权声明:
作者:感冒的梵高
链接:https://www.techfm.club/p/8519.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>