go

运维开发笔记7 小时前
go
8.2 Go Struct 方法学习笔记方法就是带"接收者"的函数。接收者写在函数名前面,用 (r Type) 的格式:调用方式:值接收者 func (r Rectangle):方法操作的是结构体的拷贝,不会修改原值。适合只读取数据、不修改数据的方法。
Go_error9 小时前
后端·go
Fyne:让 Go 开发者也能玩转 GUIfyne.io/fyne 是一个用于构建桌面和移动 GUI 应用的 Go 语言库。它提供了跨平台支持,允许开发者在 Windows、MacOS、Linux、iOS 和 Android 上使用相同的代码运行应用。
Go_error9 小时前
go
Go 实现 Mysql AES 与 Scanner/Valuer 自动加解密本文将介绍 Go 语言中的 forgoer/openssl 加解密库,并基于它实现 MySQL AES_ENCRYPT 函数的 Go 版本,最后定义一个可自动加解密的自定义数据类型,该类型实现 database/sql 的 Scanner 和 Valuer 接口,使其在数据库读写时自动进行加解密。
Go_error10 小时前
后端·go
Badu/bus:Go 轻量级泛型发布/订阅事件总线badu/bus (github.com/badu/bus) 是一个 Go 语言基于泛型实现的轻量级发布-订阅(Pub/Sub)事件总线库。它允许不同的组件通过事件机制进行解耦通信,而不需要直接调用彼此的函数。
Go_error10 小时前
后端·go
Go-redis:执行 Lua 脚本go-redis (github.com/redis/go-redis) 支持 Lua 脚本 redis.Script,本文在这里简单展示其在秒杀场景中使用的代码片段。
stark张宇14 小时前
go
Go并发调度器源码探秘:GMP模型之G/M/P底层数据结构完全拆解Go语言之所以能在高并发领域脱颖而出,核心优势之一就是轻量化的并发调度机制。不同于Java、C++依赖操作系统内核线程实现并发的方式,Go语言在用户态实现了一套自研调度器——GMP调度模型。
学习星球2 天前
go·信息与通信·媒体
# 6G通感一体化(ISAC)技术深度解析——从原理到实战> <br />让通信信号"长出眼睛":一套波形如何同时完成数据传输与环境感知?一、引言:从"通信管道"到"感知网络"的跨越
小满zs2 天前
后端·google·go
Go语言第十章(指针)调用函数时,实参怎么传给形参?改形参会不会影响外面的变量吗? Go 的答案比「值传递 / 引用传递」二分法更精确:Go 里永远是值传递——传参时会复制一份。但有些类型的「那一份」只是描述符(header),底层数据仍然共享,所以看起来就像「引用传递」。
学习星球3 天前
网络·人工智能·5g·架构·go·信息与通信
6G核心网架构深度解析——AI Native时代的网络变革当所有人都在谈论6G无线侧的太赫兹和智能超表面时,真正意义的架构革命正在核心网悄然发生。一、引言:为什么6G核心网才是真正的变革
ylj_dev3 天前
go·react·开源项目·工作流·ai agent
从 0 构建 AI Workload Platform(九):真实场景、最小控制台与开源发布AI Workload Platform 的前六个模块已经完成了工作流内核、可靠控制面、Agent Runtime、独立 Worker、可观测性和受限执行器。此时系统可以通过 CLI、JSON 和 HTTP API 工作,但新用户仍然需要记住很多命令,也看不到一条连续的产品流程。HTTP API 是通过 HTTP 请求访问服务能力的接口;PostgreSQL 是保存这些业务状态的关系型数据库。
tyung3 天前
后端·网络协议·go
znet 数据编解码:字节流怎么变成消息znet 读路径拿到的是一段 Ring Buffer 里的字节流(上一篇讲了零拷贝读)。这一篇只聊一件事:这一串没有边界的字节,怎么变成一个结构化的消息——协议头长什么样、PeekHeader12 怎么一次把头读出来、ParseFromRingBuffer 怎么逐帧切出来,以及 ParseData 怎么复用才不抖。
leeyi4 天前
go·aigc·agent
数据库迁移不翻车:golang-migrate 实战,143 个 DDL 有序执行(第97篇-E83)上一篇 讲了 Agent 怎么测试。但还有一个更基础的问题:数据库 schema 怎么变?手动跑 SQL 总有人忘了加列、忘了写 down、忘了更新 CI。版本号撞车。dirty 状态没人管。DeepFlux 的答案是:golang-migrate + embed.FS + CI 链守卫 + 哨兵探针。这篇拆解 143 个迁移(000001~000143)是怎么做到不翻车的。
用户330144867634 天前
go
mheap:全局堆管理器前几篇 Wiki 我们层层向上:mcache 是 Per-P 的无锁缓存,mcentral 是每种 size class 的中心缓存。但它们都有枯竭的时候——当 mcentral 手里也没有空闲 span 时,就得找mheap 要。
用户330144867634 天前
go
10. Large 对象分配:直接路径摘要:本文深入剖析 Go 运行时大对象(>32KB)的分配路径。大对象分配跳过 mcache 与 mcentral 的缓存,直接从 mheap 按整页分配,span 采用"一个对象一个 span"的特殊结构(sizeclass=0、nelems=1)。文章依次讲解 mallocgcLarge 入口、c.allocLarge 的四步关键操作、大对象 span 的特殊性、绕过缓存的三点意义、GC 扫描与黑色分配、largeType 类型信息的原子发布、延迟清零与可抢占设计,最后给出完整调用链与 MemStat
yinchnag4 天前
设计模式·go
CRTP:奇异递归模板模式在 Go 模块系统中的实现CRTP 的全称是 Curiously Recurring Template Pattern,中文通常译为“奇异递归模板模式”。它最早常见于 C++,典型写法是:
ylj_dev5 天前
go·prometheus·可观测性·opentelemetry·故障注入
从 0 构建 AI Workload Platform(七):可观测性、故障注入与性能验证我正在从零开发 AI Workload Platform:一个面向 Agent 与确定性程序任务的可靠运行时和调度平台。Agent(智能体) 是能够调用模型和工具、根据执行结果继续决定后续动作的程序;确定性程序任务则按照预先定义的代码和输入执行。工作流(Workflow) 是按依赖关系组织的多步骤执行定义,平台负责管理两类任务共有的工作流依赖、状态、重试、取消、恢复和执行节点。
我的div丢了肿么办5 天前
后端·go
go语言中基本数据类型的转换解决办法:转换为相同的类型注意:转换的时候建议从低位转换成高位(int8 -> int16 -> float32 -> float64) 高位转换成低位的时候如果转换不成功就会溢出,出现精度丢失的问题
newerp6 天前
后端·程序员·go
语法分析与 AST:Parser 与 go/ast词法分析把字符流切成了 Token 流,但 Token 流是"扁平"的——一串线性的 Token 序列。语法分析(Syntax Analysis)的任务是把这些 Token 组织成一棵抽象语法树(AST),赋予它们层次结构和语义关系。
newerp6 天前
后端·程序员·go
Go 编译过程全景你敲下 go build,几秒钟后一个静态二进制文件就出现了。但在这几秒钟里发生了什么?Go 编译器(gc,注意不是 GC 垃圾回收,而是 Go Compiler 的缩写)走过了一条完整的流水线:
stark张宇6 天前
后端·go
Go语言runtime全景图:从编译到GC,带你彻底吃透Go的底层血脉runtime 就是 Go 语言运行时,是 Go 自带的一套 C+Go 写的底层库,不是操作系统,介于你的 Go 业务代码和操作系统内核之间。 我们写的 Go 代码,编译之后会把 runtime 打包进可执行文件,程序跑起来时 runtime 就在后台工作。