好好学习,天天向上

golang-栈

推荐阅读:Go Runtime Stack Go 栈概述Go 语言的栈管理是运行时系统的重要组成部分,负责管理 goroutine 的栈空间。Go 1.4 之前使用分段栈(Segmented Stack),Go 1.4+ 使用连续栈(Con
2024-01-01

Go 反射机制详解

Go 反射机制详解反射(Reflection)是 Go 语言提供的一种强大的机制,允许程序在运行时检查、修改和操作类型信息。虽然反射功能强大,但应该谨慎使用,因为它会影响性能和类型安全。 目录 反射概述 reflect 包的使用 Type
2024-01-01

golang 调度过程源码分析

golang 版本:go version go1.15.2 darwin/amd64 根据启动函数来分析golang MPG的生存周期,忽略cgo相关代码。 MPGMPG是golang调度的重要对象: M,表示一个内核线程,是执行用户代码
2023-03-03

golang MPG调度

MPGMPG是golang的并发模型,结构源码在runtime/runtime2.go里面,主体逻辑结构在runtime/proc.go里,是golang可以高并发的根本。 M,连接一个内核态的线程,goroutine跑在M上,每个M都会
2023-03-03

golang-panic

概述panic 和 recover 是 Go 语言提供的错误处理机制。panic 用于触发运行时错误,recover 用于恢复 panic 并继续执行程序。 基本用法panic1234func example() { panic("s
2022-11-28

golang-defer

概述defer 是 Go 语言提供的一种延迟执行机制,用于在当前函数执行结束之前执行另一个函数。defer 语句会在函数返回前按照后进先出(LIFO)的顺序执行。 基本用法123456789func example() { defer
2022-11-28

Golang defer、panic、recover 详解

推荐阅读:runtime/panic.go、runtime/panic.go - defer 概述defer、panic、recover 是 Go 提供的延迟执行与异常恢复机制: defer:在当前函数返回前按 LIFO 顺序执行注册的函
2022-11-28

linux-shell语法

变量语法a=b,a为变量名,b为变量值。让其他函数输出作为变量 123a=$(ls)# 或者使用反引号a=`ls` 命名规则,变量名只能由字母数字下划线组成,且不能是数字开头,且不能是shell里面的关键字。使用变量,使用$表示取变量值,
2022-10-21

golang-泛型

Go 泛型详解概述泛型,将类型看成变量,定义类型约束,使类型约束的所有类型皆具有相关代码,是对类型第二个维度的描述。golang中的泛型称做类型参数(Type Parameter)是在编译时将使用的类型都会具体实现一遍,类型越多就会导致编译
2022-10-14

golang-sync同步原语

Go 语言作为一个原生支持用户态进程(Goroutine)的语言,当提到并发编程、多线程编程时,往往都离不开锁这一概念。锁是一种并发编程中的同步原语(Synchronization Primitives),它能保证多个 Goroutine
2022-09-05

Golang Map 内部实现详解

推荐阅读:Go Map Source Code Golang Map 内部实现详解Go 语言的 map 是基于哈希表实现的,采用拉链法解决哈希冲突。本文详细分析 map 的内部结构和实现机制。 核心数据结构关系graph TB su
2022-04-14

go-redis

go-redisgolang实现的redis客户端 call chain调用分层 获取客户端 函数生成命令对象 命令对象转换为RESP协议 网络层发送协议 网络层接收协议 转换为命令响应 返回给调用者 pipeline调用内部逻辑 12
2022-04-12
2 / 3