一闪笔记 本次搜索耗时 0.113 秒,为您找到 750 个相关结果.
  • 6. Go 如何排查数据竞争问题?

    6. Go 如何排查数据竞争问题? 概念 排查方式 6. Go 如何排查数据竞争问题? 概念 只要有两个以上的goroutine并发访问同一变量,且至少其中的一个是写操作的时候就会发生数据竞争;全是读的情况下是不存在数据竞争的。 排查方式 package main import "fmt" func main ()...
  • 224.用go撸一个生产者消费型,用channel通信,怎么友好的关闭chan?

    135 2024-01-18 《Golang面试题》
    用go撸一个生产者消费型,用channel通信,怎么友好的关闭chan? 答案: 用go撸一个生产者消费型,用channel通信,怎么友好的关闭chan? 参考解析 题目来源: 七牛云、字节跳动 答案: 如何优雅的关闭channel 记住两点 向一个已关闭的channel发送数据会panic 关闭一个已经关闭的channel...
  • 201.介绍下go的chan,chan可以做什么

    162 2024-01-18 《Golang面试题》
    介绍下go的chan,chan可以做什么 介绍下go的chan,chan可以做什么 题目来源: 字节跳动 答案: 1.如果说goroutine 是Go语言的并发体的话,那么chan就是它们之间的通信机制,一个channel是一个通信系统,它可以让一个goroutine通过它给另一个goroutine发送值消息,每个channel都有一...
  • 240.Go map的底层原理

    170 2024-01-18 《Golang面试题》
    Go map的底层原理 答案: Go map的底层原理 参考解析 题目来源:腾讯 答案: 这道题需要从两个维度来回答 map的实现原理 go map是基于hash table(哈希表)来实现的,冲突的解决采用拉链法 map的底层结构 hmap(哈希表):每个hmap内含有多个bmap(buckets(桶)、lodbuc...
  • 161.go协程相比其它协程库区别在哪?

    155 2024-01-18 《Golang面试题》
    go协程相比其它协程库区别在哪? 答案: go协程相比其它协程库区别在哪? 题目来源:字节跳动 答案: coroutine(python)和goroutine(go)的区别: 除了python,C#, Lua语言都支持 coroutine 特性。coroutine 与 goroutine 在名字上类似,都是可中断可恢复的协程,它们之...
  • 430.写个channel相关的题,并发模型,爬虫url,控制并发量

    135 2024-01-23 《Golang面试题》
    写个channel相关的题,并发模型,爬虫url,控制并发量 答案: 写个channel相关的题,并发模型,爬虫url,控制并发量 参考解析 题目来源:好未来 答案: 参考:https://cloud.tencent.com/developer/article/1820718 package main import ...
  • 58.空结构体占不占内存空间? 为什么使用空结构体?

    169 2024-01-17 《Golang面试题》
    📑 题目:空结构体占不占内存空间? 为什么使用空结构体? 📑 题目:空结构体占不占内存空间? 为什么使用空结构体? 题目来源: 映客 答案1: 空结构体是没有内存大小的结构体。通过 unsafe.Sizeof() 可以查看空结构体的宽度,代码如下: var s struct {} fmt . Println ( unsafe ...
  • 1.Go slice的底层实现原理?

    1.Go slice的底层实现原理? 1.Go slice的底层实现原理? 切片是基于数组实现的,它的底层是数组,可以理解为对 底层数组的抽象。 源码包中src/runtime/slice.go 定义了slice的数据结构: type slice struct { array unsafe . Pointer le...
  • 456.Go Convey 是什么?一般用来做什么?

    143 2024-01-23 《Golang面试题》
    Go Convey 是什么?一般用来做什么? Go Convey 是什么?一般用来做什么? 参考解析 go convey是一个支持Golang的单元测试框架 go convey能够自动监控文件修改并启动测试,并可以将测试结果实时输出到Web界面 go convey提供了丰富的断言简化测试用例的编写
  • 333.go语言中结构体指针为空,赋给一个interface{}为什么

    119 2024-01-22 《Golang面试题》
    go语言中结构体指针为空,赋给一个interface{}为什么 go语言中结构体指针为空,赋给一个interface{}为什么 题目来源:字节跳动 答案: 空结构体有以下几大特点 不占用内存地址。 地址不变 空接口的内部实现保存了对象的类型和指针