技术栈
golang
源代码•宸
18 小时前
开发语言
·
后端
·
算法
·
面试
·
golang
·
context
·
emptyctx
Golang原理剖析(context、context面试与分析)
context 是 Go 语言在 1.7 版本中引入的标准库,用于在 API 调用链和多个 goroutine 之间传递取消信号、超时/截止时间以及请求范围内的元数据。它通常用于实现父 goroutine 对下层 goroutine 的取消控制,而非通用的数据通信机制。context 本身是并发安全的,其取消通知机制底层基于 channel 实现广播,并通过 sync.Mutex 保证状态访问的并发安全。
浮尘笔记
5 小时前
开发语言
·
后端
·
golang
Go语言临时对象池:sync.Pool的原理与使用
书接上回:《Go语言上下文:context.Context类型详解》在现代高并发系统中,内存分配和垃圾回收是影响性能的关键因素。每次内存分配不仅涉及用户空间的堆管理,还可能触发内核的系统调用。在高性能Go程序中,频繁的对象创建和垃圾回收(GC)会成为性能瓶颈。sync.Pool作为Go语言提供的临时对象池,能够显著减少内存分配和GC压力,是性能优化的重要工具。
Clarence Liu
9 小时前
开发语言
·
人工智能
·
golang
AI Agent开发(2) - 深入解析 A2A 协议与 Go 实战指南
痛点:Agent被“降级为”工具其他概念:首先我们选择https://github.com/trpc-group/trpc-a2a-go?tab=readme-ov-file作为a2a协议的框架,下面创建了一个a2a的server实例
源代码•宸
16 小时前
开发语言
·
经验分享
·
后端
·
面试
·
golang
·
defer
·
开放编码
Golang原理剖析(defer、defer面试与分析)
defer是go语言的一个关键字,用来修饰函数,其作用是让defer后面跟的函数或者方法调用能够延迟到当前所在函数return或者panic的时候再执行。
且去填词
17 小时前
开发语言
·
算法
·
golang
·
三色标记法
·
gogc
·
屏障技术
三色标记法与混合写屏障:Go GC 垃圾回收全流程解析
"The best GC is the one you don't notice." —— Go GC 的演进史,就是一部与 STW (Stop The World) 的抗争史。
源代码•宸
18 小时前
服务器
·
开发语言
·
后端
·
golang
·
interface
·
type
·
itab
Golang原理剖析(interface)
go语言中interface其实就是一组方法声明,任何类型的对象实现了接口的全部方法就是这个接口的一个实现。
汪碧康
19 小时前
docker
·
云原生
·
容器
·
golang
·
kubernetes
·
k8s
·
xkube
一文掌握k8s容器的资源限制
在Kubernetes(K8s)中,资源的申请与限制(Resource Requests and Limits)是非常重要的,它们帮助确保集群中资源的合理分配和高效利用。通过为Pod中的容器设置资源请求和限制,你可以控制容器可以使用的最小和最大资源量,从而防止单个应用占用过多资源导致集群其他部分出现问题。
moxiaoran5753
1 天前
开发语言
·
后端
·
golang
Go语言的错误处理
Go 语言没有像 try/catch 这样的异常捕获机制,它的错误处理核心是:将错误作为返回值显式返回,由调用方自行决定如何处理。这种设计让错误处理更清晰、更可控,也符合 Go 语言 “简洁、显式” 的设计哲学。
CTO Plus技术服务中
2 天前
c++
·
web安全
·
golang
一栈式、系统性的C、C++、Go、网络安全、Linux运维开发笔记和面试笔记
4万多道企业级面试题和参考答案,以下内容已经全部第一时间在 http://www.mdrsec.com 上首发了,欢迎支持 以下内容已经全部完毕,并在平台进行了发布更新:
modelmd
2 天前
java
·
golang
Go、Java 的值类型和引用类型对比
当进行赋值或函数调用时,会复制整个数据。常见的值类型包括:基本数据类型:如 int、float64、bool、string、complex64 等。 数组(Array):如 [3]int 结构体(Struct):由多个字段组成的复合类型。 这些类型在赋值或传递时会复制整个数据,因此修改副本不会影响原始数据。
资深web全栈开发
2 天前
服务器
·
http
·
golang
·
系统设计
·
goroutine
·
高并发架构
·
go并发
高并发的本质:超越语言的协作哲学——以 Go HTTP 服务器为例
核心观点: 高并发不是"技术选型"问题,而是"角色协作"问题。无论 Go、Rust 还是 Java,底层都在解决同一个物理学难题:如何让有限的 CPU 核心,公平且高效地服务无限增长的并发请求?
bing.shao
2 天前
开发语言
·
后端
·
golang
Golang 在OPC领域的应用
Golang在OPC领域的应用非常广泛,尤其适合构建高性能、轻量级的工具和系统。以下是Golang可以帮助OPC实现的关键内容:
os_lee
2 天前
数据库
·
golang
·
milvus
Milvus 实战教程(Go 版本 + Ollama bge-m3 向量模型)
git地址:https://gitee.com/os-lee/ai 查看milvus-demoMilvus 是一个开源的向量数据库,专为嵌入向量(Embedding Vector)相似性搜索设计。
源代码•宸
2 天前
经验分享
·
后端
·
算法
·
面试
·
职场和发展
·
golang
·
反问
大厂技术岗面试之一面(准备自我介绍、反问)
一般来说,第一面都是基础技术面,就是考察面试者的计算机基础,也就是操作系统、计算机网络、数据库、数据结构与算法、编程语言(C++、Java、Golang、Python等)等,有时候也会问一下你的项目,不过一面深挖项目的不多,主要是考察基础,大厂普遍要求面试者具备扎实且广泛的计算机基本知识。
源代码•宸
3 天前
开发语言
·
经验分享
·
后端
·
面试
·
golang
·
select
·
channel
Golang原理剖析(channel面试与分析)
是线程安全的,hchan的底层实现中,hchan结构体中采用runtime.mutex锁来保证数据读写安全。在对循环数组buf中的数据进行入队和出队操作时,必须先获取互斥锁,才能操作channel数据
moxiaoran5753
3 天前
golang
Go语言中的泛型
Go 语言的泛型(Generics)是 Go 1.18 版本 正式引入的核心特性,它是一种编写「与类型无关」的通用代码的能力。简单说:泛型让函数 / 结构体可以支持「任意类型」的入参 / 成员,同时保留编译期的类型安全。
加油2019
3 天前
golang
·
内存管理
·
gc
·
内存逃逸
GO语言内存逃逸和GC机制
Go语言虽然语法上类似C语言,但是也是一种“高级语言”,有一套内存管理系统,不需要向C语言去动态malloc/free堆内存,而是语言编译时根据具体使用情况来决定使用栈还是使用堆,堆内存也不需要程序员手动free内存,后台有一套gc机制,根据内存对象的生命周期(引用关系)决定是否回收内存。Go语言默认使用栈内存,在一些特定的情况会内存逃逸使用堆内存,本文会重点介绍内存逃逸以及GC机制。
源代码•宸
3 天前
开发语言
·
后端
·
golang
·
select
·
channel
·
hchan
·
sudog
Golang原理剖析(channel源码分析)
顾名思义,channel就是一个通信管道,被设计用于实现goroutine之间的通信Go语言尊崇的设计思想是:以通信的方式来共享内存,而不是通过共享内存来实现通信,channel就是这一思想的体现
liuyunshengsir
3 天前
开发语言
·
golang
·
gin
golang Gin 框架下的大数据量 CSV 流式下载
想要实现 Gin 框架下的大数据量 CSV 流式下载(直接写入响应体,不使用内存缓冲区,避免内存溢出),我会基于你提供的核心代码片段,完善一个完整、健壮的实现方案,重点解决「响应头优先设置」「逐行写入不缓存」「完整错误处理」等关键问题,适配万级以上 Student 数据的导出场景。
CHHC1880
3 天前
开发语言
·
后端
·
golang
golang 项目依赖备份
依赖存放路径:C:\Users\CHHC\go\pkg\mod清空存放路径下的文件根据go.mod 和 go.sum 下载依赖