IT书架 本次搜索耗时 0.014 秒,为您找到 746 个相关结果.
  • 216.go的hashmap如何实现的

    141 2024-01-18 《Golang面试题》
    go的hashmap如何实现的 go的hashmap如何实现的 题目来源: 答案1: goLang中的map来存储键值对类型的数据,但是它的内部实现是怎么样的? 其实map是一种HashMap,表面上看它只有键值对结构,实际上在存储键值对的过程中涉及到了数组和链表。HashMap之所以高效,是因为其结合了顺序存储(数组)和链式存储(链表)...
  • 1.Go map的底层实现原理?

    1.Go map的底层实现原理? 1.Go map的底层实现原理? Go中的map是一个指针,占用8个字节,指向hmap结构体 源码包中src/runtime/map.go 定义了hmap的数据结构: hmap包含若干个结构为bmap的数组,每个bmap底层都采用链表结构,bmap通常叫其bucket hmap结构体 // A head...
  • 6.Go和java比有什么不同?

    447 2024-01-16 《Golang面试题》
    Go和java比有什么不同? Go和java比有什么不同? 答案1: Go也称为Golang,是一种开源编程语言,Go可以轻松构建可靠,简单和高效的软件。Go是键入的静态编译语言。Go语言提供垃圾收机制,CSP风格的并发性,内存安全性和结构类型。 Java是一种用于一般用途的计算机编程语言,它是基于类的,并发的和面向对象的。Java专门设计为包...
  • 204.go协程的好处

    142 2024-01-18 《Golang面试题》
    go协程的好处 go协程的好处 题目来源:字节跳动/腾讯 答案: go的协程是为了解决多核CPU利用率问题,go语言层面并不支持多进程或多线程,但是协程更好用,协程被称为用户态线程,不存在CPU上下文切换问题,效率非常高。几乎所有IO密集型的应用,都可以利用协程提高速度,提高程序并发能力,不必把CPU时间浪费在等待的过程中,同时还可以充分利...
  • 86.go map并发安全问题,如何解决

    174 2024-01-17 《Golang面试题》
    go map并发安全问题,如何解决 go map并发安全问题,如何解决 题目来源 : 答案1: (树枝) go map 并发为什么不是安全的? 熟悉Go语言的人或多或少都听过Rob Pike的这句话 Do not communicate by sharing memory; instead, share memory by commun...
  • 363.python、go 语言特点

    130 2024-01-22 《Golang面试题》
    python、go 语言特点 python、go 语言特点 参考解析 题目来源: 答案: Go 是静态类型语言,Python 是动态类型语言。 静态类型有助于在编译时捕获错误,减少生产后期可能产生的错误 Go 不是传统意义上的面向对象,它没有类,它基于结构体和继承实现面向对象的特性。Python 是传统意义上的面向对象,它有...
  • 5.grpc下的健康检查

    1. grpc的健康检查规范 2. go配置grpc的健康检查 1. grpc的健康检查规范 官方文档 grpc健康检查重要点: check = { “ GRPC ”: "ip:port" , “ GRPCUseTLS ”: False , “ Timeout ”: “ 5s ”, ...
  • 342. Go的闭包语法

    144 2024-01-22 《Golang面试题》
    Go的闭包语法 Go的闭包语法 题目来源:字节跳动 答案: go语言的闭包可以理解为一个引用外部变量的匿名函数,Go语言中闭包是引用了自由变量的函数,被引用的自由变量和函数一同存在,即使已经离开了自由变量的环境也不会被释放或者删除,在闭包中可以继续使用这个自由变量,因此,简单的说:函数 + 引用环境 = 闭包 同一个函数与不同引用环境组合,...
  • 262.协程实现顺序打印123

    130 2024-01-19 《Golang面试题》
    协程实现顺序打印123 答案: 协程实现顺序打印123 参考解析 题目来源: 答案: package main import "fmt" var one = make ( chan struct {}, 1 ) var two = make ( chan struct {}, 1 ) ...
  • 125.cgo了解过引入的风险点吗?

    223 2024-01-17 《Golang面试题》
    cgo了解过引入的风险点吗? cgo了解过引入的风险点吗? 题目来源:新浪 答案1: 几个方面。1内存管理。Go采用垃圾回收机制,而C采用手工内存管理。开发人员在GC与“记着释放内存”的规则间切换,极易产生bug。 2.函数多返回值。Go支持多返回值,而C并不支持,因此当将C函数用在多返回值的Go调用中时,C的errno将作为函数返回值...