一闪笔记 本次搜索耗时 0.114 秒,为您找到 750 个相关结果.
  • 迭代器模式

    迭代器模式 6.1 模式动机 6.2 Go语言实现 iterator.go iterator_test.go 迭代器模式 6.1 模式动机 送代器模式用于使用相同方式送代不同类型集合或者隐藏集合类型的具体实现。 可以使用送代器模式使遍历同时应用送代策略,如请求新对象、过滤、处理对象等。 6.2 Go语言实现 iterator....
  • 145.channel主要做什么事情

    163 2024-01-18 《Golang面试题》
    channel主要做什么事情 channel主要做什么事情 题目来源:好未来 答案: 在 go 中遵循的原则有一条:不要通过共享内存的方式进行通信,而是应该通过通信的方式共享内存 go 采用了 CSP 模型来实现通信,而 channel 则是实现中的重要桥梁 由于 channel 分为有缓存和无缓存两种类型 对于无缓存的 channe...
  • 223.select可以用于什么

    146 2024-01-18 《Golang面试题》
    select可以用于什么 答案1: select可以用于什么 参考解析 题目来源:腾讯 答案1: Go 的通道有两种操作方式,一种是带 range 子句的 for 语句,另一种则是 select 语句,它是专门为了操作通道而存在的。这里主要介绍 select 的用法。 select的语法 select 语句的语法如下: sel...
  • 114.go中的互斥锁:正常、饥饿状态,读写锁中写操作如何阻止读操作?

    160 2024-01-17 《Golang面试题》
    go中的互斥锁:正常、饥饿状态,读写锁中写操作如何阻止读操作? go中的互斥锁:正常、饥饿状态,读写锁中写操作如何阻止读操作? 题目来源:字节跳动 答案1: 正常模式: 在正常模式下,锁的等待者会按照先进先出的顺序获取锁。但是刚被唤起的 Goroutine 与新创建的 Goroutine 竞争时,大概率会获取不到锁,在这种情况下,这个...
  • 61.Context 包的作用

    252 2024-01-17 《Golang面试题》
    Context 包的作用 Context 包的作用 **题目来源:**腾讯 答案1: Context 就像糖葫芦中的竹签子它的作用是在上下文中传递除了业务参数之外的额外信息,这个额外信息是为了全局而考虑使用的,例如在微服务业务中,我们需要整个业务链条整体的超时时间信息。不过 go 标准库中的 Context 还提供了超时 Timeout ...
  • 466.Golang Slice 的扩容机制,有什么注意点?

    137 2024-01-24 《Golang面试题》
    Golang Slice 的扩容机制,有什么注意点? Golang Slice 的扩容机制,有什么注意点? 参考解析 Go 中切片扩容的策略是这样的: - 首先判断,如果新申请容量大于 2 倍的旧容量,最终容量就是新申请的容 量 - 否则判断,如果旧切片的长度小于 1024 ,则最终容量就是旧容量...
  • 并发、协程和信道

    一、并发介绍 二. 协程和 go 关键字 三、信道 chan 四、锁实现并发安全 Golang 语言提供了 go 关键字,以及名为 chan 的数据类型,以及一些标准库的并发锁等,我们将会简单介绍一下并发的一些概念,然后学习这些 Golang 特征知识。 一、并发介绍 我们写程序时,可能会读取一个几千兆的日志,读磁盘可能需要读几十秒钟...
  • 15.关于指针的有限操作

    935 2023-12-29 《Go语言核心36讲》
    15 | 关于指针的有限操作 问题解析 知识扩展 总结 思考题 15 | 关于指针的有限操作 在前面的文章中,我们已经提到过很多次“指针”了,你应该已经比较熟悉了。不过,我们那时大多指的是指针类型及其对应的指针值,今天我们讲的则是更为深入的内容。 让我们先来复习一下。 type Dog struct { name ...
  • 8.Go defer关键字的实现原理?

    8.Go defer关键字的实现原理? 8.Go defer关键字的实现原理? 定义 : defer 能够让我们推迟执行某些函数调用,推迟到当前函数返回前 才实际执行。defer与panic和recover结合,形成了Go语言风格的异常与捕获机制。 使用场景 : defer 语句经常被用于处理成对的操作,如文件句柄关闭、连接关闭、释放锁 优点...
  • 282.golang有什么提高性能的设计, 重点说说goroutine

    148 2024-01-19 《Golang面试题》
    golang有什么提高性能的设计, 重点说说goroutine 答案: golang有什么提高性能的设计, 重点说说goroutine 参考解析 题目来源:百度 答案: goroutine channel sync.Pool goroutine goroutine : 协程应该可以看作时Go语言的一个特色,一个gorout...