IT书架 本次搜索耗时 0.068 秒,为您找到 752 个相关结果.
  • 4.Go 读写锁的实现原理?

    4.Go 读写锁的实现原理? 概念 使用场景 底层实现结构 操作: 加读锁 释放读锁 加写锁 释放写锁 注意点 互斥锁和读写锁的区别 4.Go 读写锁的实现原理? 概念 读写互斥锁RWMutex,是对Mutex的一个扩展,当一个 goroutine 获得了读锁后,其他 goroutine可以获取读锁,但不能获取写锁;...
  • 5.Go map冲突的解决方式?

    5.Go map冲突的解决方式? 5.Go map冲突的解决方式? 比较常用的Hash冲突解决方案有链地址法和开放寻址法: 链地址法 当哈希冲突发生时,创建新单元 ,并将新单元添加到冲突单元所在链表的尾部。 开放寻址法 当哈希冲突发生时,从发生冲突的那个单元 起,按照一定的次序,从哈希表中寻找一个空闲的单元,然后把发生冲突的元素存入到该单...
  • 418.比较 gin 框架和其它框架

    比较 gin 框架和其它框架 比较 gin 框架和其它框架 参考解析 题目来源:腾讯 答案: gin Go语言编写的HTTP Web框架,它以更好的性能实现了类似Martini的API,性能更好 优点 封装比较好,API友好,源码注释比较明确,具有快速灵活,容错方便等特点 运行速度快,分组的路由器,良好的崩溃捕获和错误处...
  • 数据库设置与注册

    数据库设置与注册 数据库设置 最大连接数 最大空闲连接数 时区 注册驱动 数据库设置与注册 Beego ORM 要求显式注册数据库的信息,而后才可以自由使用。 当然,永远不要忘了匿名引入驱动: import ( _ "github.com/go-sql-driver/mysql" _ "github.co...
  • 66.服务器能开多少个M由什么决定

    服务器能开多少个M由什么决定 服务器能开多少个M由什么决定 **题目来源:**跟谁学 答案1: 由于M必须持有一个P才可以运行Go代码,所以同时运行的M个数,也即线程数一般等同于CPU的个数,以达到尽可能的使用CPU而又不至于产生过多的线程切换开销。 P的个数默认等于CPU核数,每个M必须持有一个P才可以执行G,一般情况下M的个数会略大...
  • 5.程序实体的那些事儿(中)

    468 2023-12-29 《Go语言核心36讲》
    05 | 程序实体的那些事儿(中) 典型回答 问题解析 知识扩展 总结 思考题 05 | 程序实体的那些事儿(中) 在前文中,我解释过代码块的含义。Go语言的代码块是一层套一层的,就像大圆套小圆。 一个代码块可以有若干个子代码块;但对于每个代码块,最多只会有一个直接包含它的代码块(后者可以简称为前者的外层代码块)。 这种代码块的划分,也...
  • 515.Go内置函数make和new的区别?

    Go slice的底层实现原理 Go slice的底层实现原理 参考解析 首先纠正下make和new是内置函数,不是关键字 变量初始化,一般包括2步,变量声明 + 变量内存分配,var关键字就是用来声明变量的,new和make函数主要是用来分配内存的 var声明值类型 的变量时,系统会默认为他分配内存空间 ,并赋该类型的零值 比如布尔、数...
  • 371.协程中参数直接使用,和传参的区别是什么,为什么会造成这种结果

    协程中参数直接使用,和传参的区别是什么,为什么会造成这种结果 协程中参数直接使用,和传参的区别是什么,为什么会造成这种结果 参考解析 题目来源:字节跳动 作者: 协程中参数直接使用,和传参的区别是什么,为什么会造成这种结果 以一个例子说明 直接使用 func main () { wg := sync . Wait...
  • 30、打包和发布

    打包和发布 一、windows平台 二、linux平台 运行注意事项 三、实际操作 打包和发布 一、windows平台 :: remove dir rd / s / q release :: make dir md release :: go build - ldflags "-H windowsgui" - ...
  • 422.go init 的执行顺序,注意是不按导入规则的(这里是编译时按文件名的顺序执行的)

    go init 的执行顺序,注意是不按导入规则的(这里是编译时按文件名的顺序执行的) go init 的执行顺序,注意是不按导入规则的(这里是编译时按文件名的顺序执行的) 参考解析 题目来源:畅天游 解答: init函数是用于程序执行前做包的初始化的函数,比如初始化包里的变量等 每个包可以拥有多个init函数 包的每个源文件也可以拥...