一闪笔记 本次搜索耗时 0.116 秒,为您找到 750 个相关结果.
  • 274.go标准库的mutex介绍

    156 2024-01-19 《Golang面试题》
    go标准库的mutex介绍 答案: go标准库的mutex介绍 参考解析 题目来源:知乎 答案: Go 号称是为了高并发而生的,在高并发场景下,势必会涉及到对公共资源的竞争。当对应场景发生时,我们经常会使用 mutex 的 Lock() 和 Unlock() 方法来占有或释放资源。 mutex 状态标志位 mutex 的 sta...
  • 1.Go channel的底层实现原理?

    1.Go channel的底层实现原理? 1.Go channel的底层实现原理? 概念: Go中的channel 是一个队列,遵循先进先出的原则,负责协程之间的通信(Go 语言提倡不要通过共享内存来通信,而要通过通信来实现内存共享,CSP(Communicating Sequential Process)并发模型,就是通过 goroutine ...
  • 16.go struct 能不能比较

    357 2024-01-16 《Golang面试题》
    go struct 能不能比较 go struct 能不能比较 答案1: 需要具体情况具体分析,如果struct中含有不能被比较的字段类型,就不能被比较,如果struct中所有的字段类型都支持比较,那么就可以被比较。 不可被比较的类型:① slice,因为slice是引用类型,除非是和nil比较② map,和slice同理,如果要比较两个ma...
  • 34.并发安全字典sync.Map (上)

    884 2023-12-29 《Go语言核心36讲》
    34 | 并发安全字典sync.Map (上) 前导知识:并发安全字典诞生史 知识扩展 问题1:怎样保证并发安全字典中的键和值的类型正确性?(方案一) 总结 34 | 并发安全字典sync.Map (上) 在前面,我几乎已经把Go语言自带的同步工具全盘托出了。你是否已经听懂了会用了呢? 无论怎样,我都希望你能够多多练习、多多使用。它们和Go...
  • 187.Golang interface的设计

    154 2024-01-18 《Golang面试题》
    Golang interface的设计 答案: Golang interface的设计 参考解析 题目来源: 大疆 答案: interface介绍 interface 是GO语言的基础特性之一。可以理解为一种类型的规范或者约定。它跟java,C# 不太一样,不需要显示说明实现了某个接口,它没有继承或子类或“implements...
  • 16.gRPC 服务:如何实现一个 gRPC 服务器?

    gRPC 核心知识讲解 RPC 介绍 gRPC 介绍 Protocol Buffers 介绍 如何学习 gRPC? miniblog 实现 gRPC 服务器 定义 gRPC 服务 生成客户端和服务器代码 实现服务端 实现客户端 补全业务代码 编译并测试 小结 提示:本节课最终代码为:feature/s21 。 前面我们已经...
  • 259.goroutine为什么比线程开销小,实现原理

    166 2024-01-19 《Golang面试题》
    goroutine为什么比线程开销小,实现原理 goroutine为什么比线程开销小,实现原理 题目来源:SmartX,字节跳动 **答案:**Zbbxd 1.内存占用 从栈空间上, goroutine的栈空间更加动态灵活。每个OS的线程都有⼀个固定⼤⼩的栈内存,通常是2MB,栈内存⽤于保存在其他函数调⽤期间哪些正在执⾏或者临时暂停的函数...
  • 模板方法模式

    模板方法模式 7.1 模式动机 7.2 Go语言实现 templatemethod.go templatemethod_test.go 模板方法模式 7.1 模式动机 模版方法模式使用继承机制,把通用步骤和通用方法放到父类中,把具体实现延迟到子类中实现。使得实现符合开闭原则。 如实例代码中通用步骤在父类中实现(准备 、下载 、保存 、收...
  • 337.如何实现只开100个协程

    145 2024-01-22 《Golang面试题》
    如何实现只开100个协程 如何实现只开100个协程 题目来源: 答案:sunrise // 利用 channel 的缓存区实现 func main () { var wg sync . WaitGroup ch := make ( chan struct {}, 3 ) for ...
  • Web 注册路由最佳实践

    优先使用函数式风格的路由注册 优先使用函数式风格的路由注册 最核心的理由就是这种注册风格最为便捷,并且贴近 Go 语言本身特性。目前的主流 Web 框架基本上都是支持这种注册风格。