IT书架 本次搜索耗时 0.078 秒,为您找到 752 个相关结果.
  • 7.go语言编码规范

    1. 为什么需要代码规范 2. 代码规范 1. 命名规范 1.1 包名:package 1.2 文件名 1.3 结构体命名 1.4 接口命名 1.5 变量命名 1.6 常量命名 2. 注释 2.1 包注释 2.2 结构(接口)注释 2.3 函数(方法)注释 2.4 代码逻辑注释 2.5 注释风格 3. import 规范 4....
  • 557.Go 内存对齐机制?

    Go 内存对齐机制? 什么是内存对齐 对齐系数 优点 缺点 结构体对齐 Go 内存对齐机制? 什么是内存对齐 为了能让CPU可以更快的存取到各个字段,Go编译器会帮你把struct结构体做数据的对齐。所谓的数据对齐,是指内存地址是所存储数据大小(按字节为单位)的整数倍,以便CPU可以一次将该数据从内存中读取出来。 编译器通过在结构体的...
  • 292.go channel底层实现

    go channel底层实现 go channel底层实现 参考解析 题目来源:拼多多 答案:ORVR 在了解channel底层实现前,先得明白go的并发模型,在其他的语言中java、Python中的并发模型基本都是基于操作系统的线程,并发执行单元(线程)之间的通信一般就是用操作系统提供的线程或进程间的通信原语,如共享内存、信号、管道、消...
  • 5.Go hand off 机制?

    5.Go hand off 机制? 分离流程 5.Go hand off 机制? 概念 也称为P分离机制,当本线程 M 因为 G 进行的系统调用阻塞时,线程释放绑定的 P,把 P 转移给其他空闲的 M 执行,也提高了线程利用率(避免站着茅坑不拉shi)。 分离流程 当前线程M阻塞时,释放P,给其它空闲的M处理
  • 364.go 的执行顺序

    go 的执行顺序 go 的执行顺序 参考解析 题目来源: 答案: main 函数是 Go 应用的入口函数,但不一定是用户层第一个执行的函数。 init 函数是 Go 包的初始化函数,如果手动定义了 init 函数,则会先执行 init 函数再执行 main 函数。(并且不能手动显示的调用 init,会报错) Go 语言代码执...
  • 28. 鸟瞰 Go 语言:Go 语言生态圈介绍

    Go 语言生态中有什么? 去哪里可以了解 Go 语言生态? Go 语言生态中优秀的开源项目推荐 Go 项目开发中最常用的优秀 Go 包 优秀、完整的 Go 项目 Go 明星开源项目 小结 恭喜你,至此,你已经学习完了本课程最核心的内容。这些内容足以让你上手开发一个真正企业级的应用。这是一个好的开始,并不是结束。未来的你,还需要继续精进自己的 ...
  • 48.问等待所有goroutine结束,怎么做?

    问等待所有goroutine结束,怎么做? 问等待所有goroutine结束,怎么做? 题目来源 :滴滴 答案: 1)用channel进行同步(该方法需要知道goroutine的数量) func main () { ch := make ( chan int , 2 ) go func () ...
  • 141.go和java的区别

    go和java的区别 go和java的区别 题目来源:七牛云、猿辅导、蚂蚁、知乎、百度、虾皮 答案: 1、函数重载 Go不允许函数重载,必须具有方法和函数的唯一名称。java允许函数重载。 2、封装 Java:class 关键字组织对象,所有方法和字段都定义在类内。 Go: struct 关键字组织对象,struct内可以有字段和...
  • 496.基于信号的抢占式调度

    基于信号的抢占式调度 基于信号的抢占式调度 在任何情况下,Go 运行时并行执行(注意,不是并发)的 goroutines 数量是 小于等于 P 的数量的。为了提高系统的性能,P 的数量肯定不是越小越好,所 以官方默认值就是 CPU 的核心数,设置的过小的话,如果一个持有 P 的 M, 由于 P 当前执行的 G 调用了 syscall 而导致 M 被阻...
  • 17.go语句及其执行规则(下)

    604 2023-12-29 《Go语言核心36讲》
    17 | go语句及其执行规则(下) 知识扩展 17 | go语句及其执行规则(下) 你好,我是郝林,今天我们继续分享go语句执行规则的内容。 在上一篇文章中,我们讲到了goroutine在操作系统的并发编程体系,以及在Go语言并发编程模型中的地位和作用等一系列内容,今天我们继续来聊一聊这个话题。 知识扩展 问题1:怎样才能让主gorout...