IT书架 本次搜索耗时 0.025 秒,为您找到 746 个相关结果.
  • 7.Go 如何查看运行时调度信息?

    7.Go 如何查看运行时调度信息? go tool trace GODEBUG 7.Go 如何查看运行时调度信息? 有 2 种方式可以查看一个程序的调度GMP信息,分别是go tool trace和GODEBUG trace.go package main import ( "fmt" "os" ...
  • 557.Go 内存对齐机制?

    152 2024-01-25 《Golang面试题》
    Go 内存对齐机制? 什么是内存对齐 对齐系数 优点 缺点 结构体对齐 Go 内存对齐机制? 什么是内存对齐 为了能让CPU可以更快的存取到各个字段,Go编译器会帮你把struct结构体做数据的对齐。所谓的数据对齐,是指内存地址是所存储数据大小(按字节为单位)的整数倍,以便CPU可以一次将该数据从内存中读取出来。 编译器通过在结构体的...
  • 5.Go hand off 机制?

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

    3.Go slice扩容机制? Go 1.18版本之前 Go 1.18版本切片扩容 3.Go slice扩容机制? Go 1.18版本之前 扩容会发生在slice append的时候,当slice的cap不足以容纳新元素,就会进行扩容,扩容规则如下 如果新申请容量比两倍原有容量大,那么扩容后容量大小 为 新申请容量 如果原有 slice ...
  • 292.go channel底层实现

    263 2024-01-19 《Golang面试题》
    go channel底层实现 go channel底层实现 参考解析 题目来源:拼多多 答案:ORVR 在了解channel底层实现前,先得明白go的并发模型,在其他的语言中java、Python中的并发模型基本都是基于操作系统的线程,并发执行单元(线程)之间的通信一般就是用操作系统提供的线程或进程间的通信原语,如共享内存、信号、管道、消...
  • 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....
  • 522.Go map遍历为什么是无序的?

    147 2024-01-25 《Golang面试题》
    Go map遍历为什么是无序的? Go map遍历为什么是无序的? 参考解析 使用 range 多次遍历 map 时输出的 key 和 value 的顺序可能不同。这是 Go 语言的设计者们有意为之 ,旨在提示开发者们,Go 底层实现并不保证 map 遍历顺序稳定,请大家不要依赖 range 遍历结果顺序 主要原因有2点: map在遍历时,...
  • 574.Go语言的性能分析工具 runtime/pprof 有用过吗

    3 2024-06-07 《Golang面试题》
    Go语言的性能分析工具 runtime/pprof 是一个内置库,提供了多种性能分析工具,包括CPU分析器、内存分析器、阻塞分析器、互斥锁分析器和跟踪工具。通过这些工具,开发者可以轻松地对Go程序进行资源使用情况(如CPU和内存)的分析,从而识别和解决性能瓶颈。此外,pprof还可以生成和查看性能分析数据,帮助开发者找到程序中的性能瓶颈并进行优化。 要...
  • Slice

    1.Go slice的底层实现原理? 2.Go slice深拷贝和浅拷贝 3.Go slice扩容机制? 4.Go slice为什么不是线程安全的?
  • 509.Go有哪些数据类型?

    118 2024-01-25 《Golang面试题》
    Go方法与函数的区别? Go方法与函数的区别? 参考解析 在Go语言中,函数和方法不太一样,有明确的概念区分。其他语言中,比如Java,一般来说函数就是方法,方法就是函数;但是在Go语言中,函数是指不属于任何结构体、类型的方法,也就是说函数是没有接收者的;而方法是有接收者的。 方法 func ( t * T ) add ( a , b...