25 2025-07 GO golang for range 遍历 不同数据类型的遍历方式 数组/切片: for index, value := range arr { // index 是下标,value 是元素值 // &v 始终指向同一个地址 } ... 阅读全文 2025年07月25日 11:09:57 周五 2025-07-25 周五 19 0 0
23 2025-05 GO golang 参考题 1,在Golang中,goroutine和线程的主要区别是什么?如何通过channel解决并发通信问题? Go的channel设计为线程安全的,这意味着多个goroutine可以安全地同时发送和接收数据,而不需要额外的同步机制。 ... 阅读全文 2025年05月23日 17:07:07 周五 2025-05-23 周五 22 0 0
22 2025-05 GO 使用 pprof 排查 Go 死锁的步骤 死锁(Deadlock)的简明定义 死锁是指多个进程(或线程、协程)在竞争资源时,因互相持有对方所需的资源且不释放,导致所有参与者无限阻塞的状态。 死锁的四个必要条件 互斥条件:资源一次只能被一... 阅读全文 2025年05月22日 18:33:20 周四 2025-05-22 周四 19 0 0
22 2025-05 GO Golang工程师技术题 瑞和云图Golang工程师技术题 第一部分:Golang基础 问题1:Goroutine与线程的区别 简述Goroutine与传统线程的区别,并说明Goroutine为什么更轻量。 1、协程通过gmp调度,一个线程对应多个协程,用户态... 阅读全文 2025年05月22日 18:21:41 周四 2025-05-22 周四 23 0 0
19 2025-02 GO golang 简易打印请求服务端 package main import ( "bytes" "encoding/json" "fmt" "github.com/fatih/color" "io/ioutil" "log" "net/http" "time" "golang.org/x/net/http2" "... 阅读全文 2025年02月19日 16:26:15 周三 2025-02-19 周三 36 0 0
14 2025-02 GO go defer和recover defer是倒序执行: 完全正确!defer 语句在函数返回时按逆序执行。 defer执行方法中的变量,是声明时的值,而不是方法执行完变量的值: 也很准确!defer 语句中的变量在声明时就会被捕获,之后... 阅读全文 2025年02月14日 09:15:40 周五 2025-02-14 周五 24 0 0
03 2024-04 GO go 协程池 package utils import "sync" // GoroutineManager 用于管理协程的结构体 type GoroutineManager struct { maxGoroutines int taskQueue chan TaskFunc semap... 阅读全文 2024年04月03日 15:34:01 周三 2024-04-03 周三 27 0 0
01 2024-04 GO go 中的json.Marshal package main import ( "encoding/json" ) // 如果str为小写 则都是{} type A struct { Str string } func main() { a := A{} b := &A{} c := &... 阅读全文 2024年04月01日 14:31:40 周一 2024-04-01 周一 22 0 0
05 2024-01 GO golang 常用工具方法 // 通过这个递归函数,可以确保结构体中所有未初始化的切片字段都被初始化为空切片,以便后续操作 // 把未初始化的数组默认值nil,初始为空切片,从而解决结构体转json时,nil... 阅读全文 2024年01月05日 14:48:20 周五 2024-01-05 周五 25 0 0
22 2023-12 GO golang 实现简易协程池 // GoroutineManager 用于管理协程的结构体 type GoroutineManager struct { maxGoroutines int taskQueue chan TaskFunc semaphore chan struct{} } type ... 阅读全文 2023年12月22日 17:19:54 周五 2023-12-22 周五 30 0 0