IT书架 本次搜索耗时 0.119 秒,为您找到 1075 个相关结果.
  • 160.Go string底层实现?

    154 2024-01-18 《Golang面试题》
    Go string底层实现? 答案: Go string底层实现? 题目来源:字节跳动 答案: 源码包 src/runTime/string.go.stringStruct 定义了string的数据结构: Type stringStruct struct { str unsafe . Pointer len ...
  • 515.Go内置函数make和new的区别?

    153 2024-01-25 《Golang面试题》
    Go slice的底层实现原理 Go slice的底层实现原理 参考解析 首先纠正下make和new是内置函数,不是关键字 变量初始化,一般包括2步,变量声明 + 变量内存分配,var关键字就是用来声明变量的,new和make函数主要是用来分配内存的 var声明值类型 的变量时,系统会默认为他分配内存空间 ,并赋该类型的零值 比如布尔、数...
  • 124.go test test 和 benchmark

    153 2024-01-17 《Golang面试题》
    go test test 和 benchmark go test test 和 benchmark 题目来源:字节跳动 答案1: Go语言中自带有一个轻量级的测试框架testing 和自带的go test 命令来实现单元测试和性能测试。 go test 由于go test 命令只能在一个相应的目录下执行所有文件,例如,新建一个项目目...
  • 187.Golang interface的设计

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

    153 2024-01-18 《Golang面试题》
    go协程相比其它协程库区别在哪? 答案: go协程相比其它协程库区别在哪? 题目来源:字节跳动 答案: coroutine(python)和goroutine(go)的区别: 除了python,C#, Lua语言都支持 coroutine 特性。coroutine 与 goroutine 在名字上类似,都是可中断可恢复的协程,它们之...
  • 234.两个协程交替打印1到20

    153 2024-01-18 《Golang面试题》
    两个协程交替打印1到20 答案: 两个协程交替打印1到20 参考解析 题目来源:字节跳动 答案: 使用channel package main import ( "fmt" "sync" "time" ) func main () { wg ...
  • 408.go调度中阻塞都有那些方式

    153 2024-01-23 《Golang面试题》
    go调度中阻塞都有那些方式 go调度中阻塞都有那些方式 题目来源: 滴滴 答案: 由于原子、互斥量或通道操作调用导致 Goroutine 阻塞,调度器将把当前阻塞的 Goroutine 切换出去,重新调度 LRQ 上的其他 Goroutine; 由于网络请求和 IO 操作导致 Goroutine 阻塞。Go 程序提供了网络轮询器(NetP...
  • 193.Go的数据结构的零值是什么?

    153 2024-01-18 《Golang面试题》
    Go的数据结构的零值是什么? Go的数据结构的零值是什么? 题目来源:Shein 答案: 所有整型类型:0 浮点类型:0.0 布尔类型:false 字符串类型:”” 指针、interface、切片(slice)、channel、map、function:nil Go的零值初始是递归的,即数组、结构体等类型的零值初始化就是对其组成元素...
  • 534.Go channel发送和接收什么情况下会死锁?

    152 2024-01-25 《Golang面试题》
    Go channel发送和接收什么情况下会死锁? Go channel发送和接收什么情况下会死锁? 参考解析 死锁: 单个协程永久阻塞 两个或两个以上的协程的执行过程中,由于竞争资源或由于彼此通信而造成的一种阻塞的现象。 channel死锁场景: 非缓存channel只写不读 非缓存channel读在写后面 缓存channel写入超...
  • 566.Go 如何排查数据竞争问题?

    152 2024-01-25 《Golang面试题》
    Go 如何排查数据竞争问题? 概念 排查方式 Go 如何排查数据竞争问题? 概念 只要有两个以上的goroutine并发访问同一变量,且至少其中的一个是写操作的时候就会发生数据竞争;全是读的情况下是不存在数据竞争的。 排查方式 package main import "fmt" func main () { ...