一闪笔记 本次搜索耗时 0.138 秒,为您找到 750 个相关结果.
  • 25.如何开发一个优雅的 Go 应用?

    如何写出优雅的 Go 项目? 编写高质量的 Go 应用 代码结构 代码规范 代码质量 编程哲学 面向接口编程 面向“对象”编程 软件设计方法 设计模式 SOLID 原则 高效管理项目 高效的开发流程 使用 Makefile 管理项目 自动生成代码 善于借助工具 对接 CI/CD 编写高质量的项目文档 小结 Go 语言...
  • 4. 开发第一步:如何初始化 Go 项目?

    初始化代码仓库 创建项目目录 初始化目录为 Go 模块 初始化目录为 Git 仓库 创建需要的目录 创建 Hello World 程序 程序实时加载、构建、启动 编写 API 文档 API 文档规范 OpenAPI 规范和 Swagger API 文档编写工具 miniblog API 文档编写和展示 添加版权声明 miniblog ...
  • 421.go语言的时候垃圾回收,写代码的时候如何减少小对象分配

    128 2024-01-23 《Golang面试题》
    go语言的时候垃圾回收,写代码的时候如何减少小对象分配 go语言的时候垃圾回收,写代码的时候如何减少小对象分配 参考解析 题目来源:腾讯 答案: go垃圾回收GC触发条件 自动垃圾回收的触发条件有两个: 超过内存大小阈值 达到定时时间 阈值是由一个gcpercent的变量控制的,当新分配的内存占已在使用中的内存的比例超过gcpr...
  • 6.grpc中的异常处理

    1. grpc的状态码 2. go的异常处理 1. 服务端 2. 客户端 1. grpc的状态码 https://github.com/grpc/grpc/blob/master/doc/statuscodes.md 2. go的异常处理 1. 服务端 st := status . New ( codes . Invalid...
  • 358.Go 语言协程怎么跑的

    156 2024-01-22 《Golang面试题》
    Go 语言协程怎么跑的 Go 语言协程怎么跑的 参考解析 题目来源:字节跳动 答案: 设计原理 今天的 Go 语言调度器有着优异的性能,但是如果我们回头看 Go 语言的 0.x 版本的调度器会发现最初的调度器不仅实现非常简陋,也无法支撑高并发的服务。调度器经过几个大版本的迭代才有今天的优异性能,历史上几个不同版本的调度器引入了不同的改...
  • 523.Go map为什么是非线程安全的?

    146 2024-01-25 《Golang面试题》
    Go map为什么是非线程安全的? Go map为什么是非线程安全的? 参考解析 map默认是并发不安全的,同时对map进行并发读写时,程序会panic,原因如下: Go 官方在经过了长时间的讨论后,认为 Go map 更应适配典型使用场景(不需要从多个 goroutine 中进行安全访问),而不是为了小部分情况(并发访问),导致大部分程序付出...
  • 582.golang的堆内存和栈内存了解过吗

    3 2025-09-09 《Golang面试题》
    1. 栈内存(stack) 2. 堆内存(heap) 3. 栈和堆的区别 4. Go 的逃逸分析 (escape analysis) 5. 与 GC 的关系 1. 变量在函数返回后仍然要存在 2. 变量被闭包捕获 3. 变量大小不确定 4. 变量被接口接收 5. 在多 goroutine 间传递 6. 变量太大,栈放不下 7...
  • 287. go实现一个并发限制爬虫

    140 2024-01-19 《Golang面试题》
    go实现一个并发限制爬虫 答案: go实现一个并发限制爬虫 参考解析 题目来源:字节 答案: 思路:使用有缓冲channel与sync.WatitGroup实现并发限制 利用有缓冲channel的容量控制并发协程数 sync.WatitGroup 控制所有任务完成退出
  • 370.go中协程是如何实现的

    143 2024-01-22 《Golang面试题》
    go中协程是如何实现的 go中协程是如何实现的 参考解析 题目来源:字节跳动 答案: go中协程是如何实现的 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。 因此,协程能保留上一次调用时的状态(即所有局部状态的一个特定组合),每次过程重入时,就相当于进...
  • 439.Go 高并发的特点

    137 2024-01-23 《Golang面试题》
    Go 高并发的特点 Go 高并发的特点 参考解析 题目来源:360 答案: Go 语言天生支持高并发,得益于 go 关键字开辟了协程的调用。 func main () { go add ( 1 , 1 ) // 开辟了协程 go add ( 2 , 2 ) // 开辟了协程 time ...